python PDF文件拆分与合并

背景

因工作需要拆分、合并PDF,网上的工具都带有水印。故写代码自己分割PDF、合并PDF。

环境

1、安装PyCharm Community Edition 2021.3.1
2、安装python 工具包

pip install os
pip instsall PyPDF2

代码

1、拆分

from PyPDF2 import PdfFileWriter, PdfFileReader

def pdf_separate(pdf_in,pdf_out,start,end):
    # 初始化一个pdf
    output = PdfFileWriter()
    # 读取pdf
    with open(pdf_in, 'rb') as in_pdf:
        pdf_file = PdfFileReader(in_pdf)
        # 从pdf中取出指定页
        for i in range(start, end):
            output.addPage(pdf_file.getPage(i))
        # 写出pdf
        with open(pdf_out, 'ab') as out_pdf:
            output.write(out_pdf)

2、合并

import os
from PyPDF2 import PdfFileMerger

def pdf_merge(pdf_in,pdf_out):
    #初始化一个PDF
    file_merger = PdfFileMerger()

    #读取PDF
    pdf_lst = [f for f in os.listdir(pdf_in) if f.endswith('.pdf')]
    pdf_lst = [os.path.join(pdf_in, filename) for filename in pdf_lst]

    #合并
    for pdf in pdf_lst:
        file_merger.append(pdf,import_bookmarks=False)     # 合并pdf文件
    file_merger.write(pdf_out)

使用

拆分

if __name__ == '__main__':
    pdf_in = r'C:\Users\ss\Desktop\img\02-发票未报销.pdf'
    pdf_out = r'C:\Users\ss\Desktop\img\02-发票2.pdf'
    start, end = 0, 1  # 拆分的起始位置和结束位置  想拆哪部分就拆哪部分
    pdf_separate(pdf_in, pdf_out, start, end)

python PDF文件拆分与合并_第1张图片

合并

if __name__ == '__main__':
    pdf_in = r'C:\Users\ss\Desktop\img'
    pdf_out = r'C:\Users\ss\Desktop\img\发票.pdf'
    pdf_merge(pdf_in,pdf_out)

python PDF文件拆分与合并_第2张图片

你可能感兴趣的:(Python,pycharm,ide,python)