pdf文件分割与拼接 [python]

pdf文件分割与拼接 [python]

环境:pip install PyPDF2
功能:删除pdf中的某页、合并几个pdf文件

# 导入读写pdf模块
from PyPDF2 import PdfFileReader, PdfFileWriter
'''
注意:
页数从0开始索引
range()是左闭右开区间
'''
 
def split_pdf(file_name, start_page, end_page, output_pdf):
    '''
    :param file_name:待分割的pdf文件名
    :param start_page: 执行分割的开始页数
    :param end_page: 执行分割的结束位页数
    :param output_pdf: 保存切割后的文件名
    '''
    # 读取待分割的pdf文件
    input_file = PdfFileReader(open(file_name, 'rb'))
    # 实例一个 PDF文件编写器
    output_file = PdfFileWriter()
    # 把分割的文件添加在一起
    for i in range(start_page, end_page):
        output_file.addPage(input_file.getPage(i))
    # 将分割的文件输出保存
    with open(output_pdf, 'wb') as f:
        output_file.write(f)

def merge_pdf(merge_list, output_pdf):
    """
    merge_list: 需要合并的pdf列表
    output_pdf:合并之后的pdf名
    """
    # 实例一个 PDF文件编写器
    output = PdfFileWriter()
    for ml in merge_list:
        pdf_input = PdfFileReader(open(ml, 'rb'))
        page_count = pdf_input.getNumPages()
        for i in range(page_count):
            output.addPage(pdf_input.getPage(i))
 
    output.write(open(output_pdf, 'wb'))

# 分割pdf
# split_pdf("移动.pdf", 3, 5, "移动-1.pdf")
# split_pdf("移动.pdf", 7, 8, "移动-2.pdf")
# split_pdf("移动.pdf", 9, 10, "移动-3.pdf")

# 合并pdf
pdf_list = ["封面.pdf", "正文.pdf"]
merge_pdf(pdf_list, "E22106170001.pdf")

注: 代码中的下标从0开始

猜你喜欢

转载自blog.csdn.net/weixin_55488173/article/details/130243847