Python 自动化处理 PDF 文件
Python 操作 PDF 文件
PDF (Portable Document Format) 是职场中最通用的文档格式之一。它的核心优势在于“所见即所得”,即在任何设备上打开样式都保持一致。在 Daoman Python AI 的自动化流程中,我们经常需要处理 PDF 的提取、合并、加密以及报告生成。
1. 从 PDF 中提取文本
提取 PDF 文本最常用的库是 PyPDF2。它擅长处理文档结构(合并、分割、加密),虽然在处理复杂排版或图片文字(OCR)时有局限,但对于标准文本型 PDF 非常高效。
安装指令
基础提取代码
进阶提示:如果遇到无法提取的“扫描件”PDF,或者中文乱码严重,建议尝试
pdfminer.six(侧重布局分析)或PyMuPDF(性能极强)。
2. 页面操作:旋转、加密与合并
PyPDF2 提供了 PdfWriter 对象,用于生成或修改 PDF 文件。
2.1 旋转页面
你可以根据页码实现奇偶页不同的旋转角度,这在纠正扫描方向时非常有用。
2.2 文件加密
保护敏感数据(如薪资单、合同)时,批量加密是 Python 的拿手好戏。
3. 批量添加水印:页面叠加技术
利用 page.merge_page() 方法,可以将一个 PDF 页面的内容“压”到另一个页面上。这通常用于给文档批量打上“内部资料”或公司 Logo 的水印。
4. 从零创建 PDF 文档
如果你需要根据数据动态生成精美的 PDF 报告(包含图形、自定义字体),reportlab 是工业级的解决方案。
安装指令
绘图与中文字体支持
5. 总结
- PyPDF2:适合做“手术”,如剪切、合并、旋转、加密和简单的文本读取。
- reportlab:适合做“创作”,像画板一样从零构建复杂的 PDF 报表。
- 办公建议:在处理合同时,建议将 Excel 的汇总数据通过 Python 填入 Word 模板(见上一章),最后再转换或输出为 PDF,以确保不可篡改性。

