编程语言
首页 > 编程语言> > Python合并PDF

Python合并PDF

作者:互联网

文章目录

1.前言

最近做爬虫的时候需要将爬取的pdf分页文件合并成一个pdf文件,就想着python有没有什么库能够实现。通过简单搜索,发现了Pypdf2。

2.安装

安装步骤很简单:

pip install pypdf2

3.使用

通过查询文档发现pypdf2提供了很多,满足我的需求只需要其中两个,即PdfFileMerger, PdfFileReader

from PyPDF2 import PdfFileMerger, PdfFileReader #引入

file_merger = PdfFileMerger(strict=False) #初始化并设置非严格检查
target_path = 'X:/XXX/temp' #合并pdf所在目录
path='X:/XXX/XXX' #合并后输出目录
pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]#读取pdf
pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]#补全文件地址
for pdf in pdf_lst:
    file_merger.append(PdfFileReader(pdf), 'tag')
file_merger.addMetadata(
    {u'/Title': u'my title', u'/Creator': u'creator', '/Subject': 'subjects'})#补全pdf信息
with open(PATH, 'wb+') as fa:
    file_merger.write(fa) #写入合并后的pdf

通过上面这段代码即可实现pdf的合并。

PdfFileMerger()有一个参数,strict(bool) – 确定是否应警告用户出现问题,缺省值为True。我合并的pdf中被检测出问题,不设置为strict=False不能合并成功。

PdfFileMergerappend()方法也有参数,第一个参数是文件对象,第二个参数是书签,为了方便浏览我用爬虫爬取了书签,再通过第二个参数在合并是设置书签。

PdfFileMergeraddMetadata()方法可以添加元数据,便于pdf的后续管理。该方法的参数必须使用元组进行设置。

4.参考

官方文档:PyPDF2 Documentation — PyPDF2 1.26.0 documentation (pythonhosted.org)

标签:Python,合并,pdf,merger,lst,path,PDF,PdfFileMerger
来源: https://blog.csdn.net/manchan4869/article/details/123024537