首页 > 数据库 > 数据库开发技术 > 使用Python快速对PDF文件合并和拆分
平时的工作中,我们经常遇到要对pdf文件进行一些基本的处理。本文介绍如何使用python快速的合并和拆分pdf文件。
python对pdf文件进行处理,需要使用到一些开源库,本文使用pypdf开源库。pypdf开源库是一个免费和开放的python库,他能够拆分, 合并、裁剪和转换PDF文件。
与其他的库安装方式一样,pip安装该开源包。
pip install pypdf
先来一个简单的合并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文件。
可以把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文件。
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。
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学习杂记;如有侵权,请联系管理员删除。