Python处理PDF文件的合并与分离

胡兄今天早上突然问我会不会把pdf拆开和合并,原来是ren老师要提交文献列表之类的东西…我本着偷懒便捷的办法打开了搜索引擎,了解了一下相关软件,emmmmmmmmm,结果不是让付费就是2M以上文件不让打开,反正就是辣鸡的不行。
早就知道Python有个库PyPDF2可以简单处理这些了…那就pip一下给他处理了
这个需求比较简单,把一个PDF的首页末页成另一个PDF的封皮和末页

from PyPDF2 import PdfFileReader, PdfFileWriter

被拆开的叫

检索结果扫描2021.3.8.pdf

被合并的叫

./近五年3-8.pdf

定义两个函数

#拆开
def split(path, name_of_split):
    pdf = PdfFileReader(path)
    for page in range(pdf.getNumPages()):
        pdf_writer = PdfFileWriter()
        pdf_writer.addPage(pdf.getPage(page))

        output = f'{name_of_split}{page}.pdf'
        with open(output, 'wb') as output_pdf:
            pdf_writer.write(output_pdf)


#合并
def merge_pdfs(paths, output):
    pdf_writer = PdfFileWriter()

    for path in paths:
        pdf_reader = PdfFileReader(path)
        for page in range(pdf_reader.getNumPages()):
            # 把每张PDF页面加入到这个可读取对象中
            pdf_writer.addPage(pdf_reader.getPage(page))

    # 把这个已合并了的PDF文档存储起来
    with open(output, 'wb') as out:
        pdf_writer.write(out)

然后直接使用

path = r'./检索结果扫描2021.3.8.pdf'
split(path, '拆开')
paths = ['./拆开0.pdf', './近五年3-8.pdf','./拆开1.pdf']
merge_pdfs(paths, output='hml要的.pdf')

文件都在.ipynb同目录下,检查文件符合要求。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值