ITPub博客

首页 > 数据库 > 数据库开发技术 > 使用Python快速对PDF文件合并和拆分

使用Python快速对PDF文件合并和拆分

原创 数据库开发技术 作者:derekwh 时间:2024-04-21 14:35:25 0 删除 编辑

平时的工作中,我们经常遇到要对pdf文件进行一些基本的处理。本文介绍如何使用python快速的合并和拆分pdf文件。

python对pdf文件进行处理,需要使用到一些开源库,本文使用pypdf开源库。pypdf开源库是一个免费和开放的python库,他能够拆分, 合并、裁剪和转换PDF文件。

安装pypdf

与其他的库安装方式一样,pip安装该开源包。

pip install pypdf

合并pdf

先来一个简单的合并pdf文件,这里要把pdf1,pdf2,pdf3三个文件合并成一个pdf文件。

from pypdf import PdfWriter
merger = PdfWriter()
for pdf in ["pdf1.pdf", "pdf2.pdf", "pdf3.pdf"]:
    merger.append(pdf)
merger.write("merged-pdf1.pdf")
merger.close()

通过以上代码就可以把多个pdf文件进行合并,并生成一个新的pdf文件。

拆分pdf

可以把pdf1的文章,挑选三页,拆分成新的pdf。

from pypdf import PdfWriter, PdfReader
reader = PdfReader("pdf1.pdf")
for i in [0,3,5]:
    writerpdf = PdfWriter()
    writerpdf.add_page(reader.pages[i])
    writerpdf.write("第"+str(i)+"页.pdf")

拆分pdf,并合并

把上个案例的三页拆分后,合并成一个新的pdf文件。



from pypdf import PdfWriter, PdfReader

reader = PdfReader("pdf1.pdf")
writer = PdfWriter()
writer.add_page(reader.pages[0])
writer.add_page(reader.pages[3])
writer.add_page(reader.pages[5])
with open("pypdf-output.pdf", "wb") as fp:
    writer.write(fp)

拆分pdf,修改页面排版,并合并

把pdf拆分后,对页面排版进行一系列调整,再合并成一个新的pdf。

from pypdf import PdfWriter, PdfReader

reader = PdfReader("pdf1.pdf")
writer = PdfWriter()


writer.add_page(reader.pages[0])

writer.add_page(reader.pages[3].rotate(90))#第二页旋转90度

page5 = reader.pages[5]
page5.mediabox.upper_right = (
    page5.mediabox.right / 2,
    page5.mediabox.top / 2,
)#部分显示该页面
writer.add_page(page3)

# 输出合并后文件
with open("pypdf-output2.pdf", "wb") as fp:
    writer.write(fp)

总结

本文把如何使用python对PDF文件进行合并和拆分的几个常用的场景的实现进行了讲解并给出了相应的代码。

若需要实现更多功能,可参考以下官方文档链接:

https://pypdf.readthedocs.io/en/stable/

原文作者:Python学习杂记;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
央企算法工程师,微信公众号: python数智工坊

注册时间:2021-03-14

  • 博文量
    305
  • 访问量
    162362