用途
本技能是一份 PDF 处理指南,覆盖使用 Python 库和命令行工具完成常见 PDF 操作的方法。它面向需要读取、解析、生成或批量处理 PDF 文档的场景,提供可直接参考的代码示例与命令。
主要能力
- 读取 PDF 并获取页数、提取文本。
- 提取表格,并可将多个表格合并后导出为 Excel。
- 创建新 PDF,支持单页与多页文档。
- 合并多个 PDF、按页拆分 PDF。
- 旋转页面、读取元数据(标题、作者、主题、创建者)。
- 添加水印、提取图片、设置密码保护、移除密码。
- 对扫描版 PDF 进行 OCR 文本提取。
- 处理 PDF 表单(文档指引参见 forms.md)。
使用方式
文档按工具分类给出示例:
- pypdf:基础操作,如合并、拆分、读取元数据、旋转页面、添加水印、加密。
- pdfplumber:文本与表格提取,支持按布局提取文本、提取表格并转为 DataFrame。
- reportlab:创建 PDF,支持 Canvas 直接绘制,以及 Platypus 构建多页文档。
- 命令行工具:pdftotext(提取文本、保留布局、指定页码范围)、qpdf(合并、拆分、旋转、解密)、pdftk(合并、拆分、旋转)、pdfimages(提取图片)。
- OCR:使用 pytesseract 与 pdf2image,先将 PDF 转为图片再逐页识别。
文档还提供“快速参考”表,按任务列出推荐工具与对应命令或代码。
适用场景
- 从 PDF 中批量提取文本或表格数据并整理为结构化文件。
- 将多个 PDF 合并为一份,或将一份 PDF 按页拆分。
- 程序化生成报告类 PDF。
- 对扫描件进行 OCR 以获取可编辑文本。
- 为文档添加水印、密码保护或移除密码。
- 提取 PDF 内嵌图片。
限制
- 文档中未提供具体的安装命令、版本要求或依赖清单,仅提及部分库需通过 pip 安装(如 pytesseract、pdf2image)。
- 高级功能、JavaScript 库(pdf-lib)及详细示例需参阅 reference.md;表单填写需参阅 forms.md,这些内容未在本资料中展开。
- 未说明各工具的性能、兼容性或平台支持情况。
- 未提供收费、价格或授权信息。