有很多工作场景,你需要把多个PDF文件合并一个。也有很多软件可以完成多个PDF文件的合并,但不够灵活。更加灵活的方式,通过Python编写程序自己实现。
今天要分享的内容便是,通过Python程序合并多个PDF文件。我们还是使用Python第三方模块PyPDF2来操控PDF文件,该模块能完成PDF文件的信息提取、拆分、合并、页面裁剪、加密/解密等多种操作。我在后续将继续分享其他操作。
在开始之前,你需要安装好PyPDF2第三方模块。以下程序就是合并多个PDF文件的程序。
from pathlib import Path
from PyPDF2 import PdfFileReader, PdfFileMerger
# 合并PDF
def merger_pdf_file(src, dst):
in_dir = Path(src)
out_dir = Path(dst)
if not out_dir.parent.exists():
out_dir.mkdir(parents=True)
all_pdf_file = list(in_dir.glob('*.pdf'))
merger = PdfFileMerger()
for pdf in all_pdf_file:
pdf_reader = PdfFileReader(str(pdf))
merger.append(pdf_reader)
merger.write(str(out_dir))
merger.close()
合并函数,有两个参数,分别为需要合并PDF文件目录和合并后文件名称。首先,调用路径对象的parent属性返回父目录(即保存文件夹)的路径,并判断该目录是否存在。如果不存在,则创建该目录。
然后,获取所有要合并的PDF文件的路径,并遍历PDF文件进行合并。