主要观点:
pypdf2
是纯 Python 的 PDF 库,可用于拆分、合并、裁剪和转换 PDF 页面,还能添加数据、查看选项和密码,提取文本和元数据。pypdf2
是mathiew fenniak
于 2005 年编写的原始pypdf
的分支,原pypdf
最后一次发布于 2014 年,phaseit, inc.
赞助了pypdf2
。- 介绍了在文章中将学习的内容,如提取元数据、拆分文档、合并 PDF 文件、旋转页面、覆盖/水印页面、加密/解密等。
关键信息和重要细节:
- 安装:使用
pip
安装pypdf2
,python -m pip install pypdf2
,建议安装到 Python 虚拟环境中。 - 提取元数据:通过
pdffilereader
类读取 PDF 并提取数据,如作者、标题、主题和页数等,代码示例为get_info
函数。 - 提取文本:
pypdf2
对提取文本支持有限,无法提取图像,示例代码text_extractor
在某些 PDF 上能提取部分文本,如w9.pdf
的第二页。 - 拆分 PDF:使用
pdffilereader
和pdffilewriter
类,通过循环页面并创建独立的 PDF 文件来拆分 PDF,如pdf_splitter
函数。 - 合并 PDF:可以使用
pdffilewriter
和pdffilereader
类逐个添加页面来合并 PDF,也可以使用更简单的pdffilemerger
类,如merger
函数的两种实现方式。 - 旋转页面:
pypdf2
可按 90 度增量旋转页面,可顺时针或逆时针旋转,示例代码rotator
展示了如何旋转页面。 - 覆盖/水印页面:通过
mergepage
方法将水印页面覆盖在其他页面上,如watermarker
函数将 logo 水印覆盖在w9.pdf
上。 - PDF 加密:使用
encrypt
函数添加密码和加密到 PDF,默认使用 128 位加密,若设置use_128bit=False
则使用 40 位加密。
相关阅读:
pypdf2
文档pypdf2
github 页面- 自动化枯燥事务 - 第 13 章:处理 PDF 和 Word 文档
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。