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
不能合并成功。
PdfFileMerger
的append()
方法也有参数,第一个参数是文件对象,第二个参数是书签,为了方便浏览我用爬虫爬取了书签,再通过第二个参数在合并是设置书签。
PdfFileMerger
的addMetadata()
方法可以添加元数据,便于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