ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PDF 拆分/合并

2022-07-31 01:33:02  阅读:266  来源: 互联网

标签:file output 合并 拆分 pdf PDF page input


不会真的有人会去下载那些广告免费,实则要收会员费的黑心软件来进行PDF的拆分合并吧???

在下载两个均不能免费实现PDF自由拆分、合并,以及PDF打印方式会增加文件大小的情况下,一个合格的程序员肯定不能向不良商家低头,所以使用PyPDF2实现这些功能,并给大家分享一个简单、易用、易懂的python小程序。

from PyPDF2 import PdfFileReader, PdfFileMerger, PdfFileWriter

def merge(input1,input2,output):

    file_merger = PdfFileMerger()
    file_merger.append(input1)
    file_merger.append(input2)
    file_merger.write(output)

def split(input,output,start_page, end_page):
    try:
        read_file = input
        fp_read_file = open(read_file, 'rb')
        pdf_input = PdfFileReader(fp_read_file)  # 将要分割的PDF内容格式话
        page_count = pdf_input.getNumPages()  # 获取PDF页数
        print("该文件共有{}页".format(page_count))  # 打印页数

        try:
            print(f'开始分割{start_page}页-{end_page}页,保存为{output}......')
            pdf_output = PdfFileWriter()  # 实例一个 PDF文件编写器
            for i in range(start_page, end_page):
                pdf_output.addPage(pdf_input.getPage(i))
            with open(output, 'wb') as sub_fp:
                pdf_output.write(sub_fp)
            print(f'完成分割{start_page}页-{end_page}页,保存为{output}!')
        except IndexError:
            print(f'分割页数超过了PDF的页数')
        # fp.close()
    except Exception as e:
        print(e)


if __name__ == '__main__':
    input1 = open(r"1.pdf", "rb") #打开第一个PDF文件
    input2 = open(r"2.pdf", "rb") #打开第二个PDF文件
    output=r'submit.pdf'
    merge(input1,input2,output)

    # input = r"submit.pdf"  #打开第二个PDF文件
    # output= r'1.pdf'
    # split(input,output,9,35) # start 起始页 从0 开始算,end 是尾页从1开始算

 

标签:file,output,合并,拆分,pdf,PDF,page,input
来源: https://www.cnblogs.com/weimingai/p/16536287.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有