用途
本技能是一份 PDF 处理指南,面向需要使用 Python 库或命令行工具完成 PDF 相关任务的场景。它汇总了读取、提取、编辑、创建和保护 PDF 的常见操作方式,并给出可直接参考的代码示例。
主要能力
指南覆盖以下操作:
- 读取 PDF 并统计页数、提取文本。
- 使用 pypdf 进行基础操作:合并多个 PDF、按页拆分、提取元数据(标题、作者、主题、创建者)、旋转页面。
- 使用 pdfplumber 提取带布局的文本,以及提取表格;示例还演示了将表格转为 pandas DataFrame 并合并导出为 Excel。
- 使用 reportlab 创建 PDF:包括基础画布绘制文本和线条,以及通过 Platypus 构建多页文档(标题、正文、分页)。
- 命令行工具:pdftotext 提取文本(支持保留布局、指定页码范围)、qpdf 合并/拆分/旋转/解密、pdftk 合并/拆分/旋转。
- 常见任务:对扫描版 PDF 进行 OCR(需安装 pytesseract 和 pdf2image,先转图片再识别)、添加水印、使用 pdfimages 提取图片、使用 pypdf 添加密码保护。
使用方式
指南以代码片段和命令行的形式呈现。Python 部分通常先导入对应库,再按步骤调用 API;命令行部分直接给出命令及参数说明。文末提供“任务—推荐工具—命令/代码”的快速对照表,便于按需求选择工具。
适用场景
适用于需要批量或自动化处理 PDF 的开发与脚本场景,例如合并报告、拆分文档、从 PDF 中抽取文本和表格数据、生成 PDF 报告、为文档加水印或加密、对扫描件做文字识别等。
限制
资料说明,本技能仅应在任务明确匹配上述范围时使用;不应将输出视为环境特定验证、测试或专家评审的替代。若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。高级功能、JavaScript 库(pdf-lib)和详细示例需参阅 reference.md;填写 PDF 表单需参阅 forms.md。资料未提供具体收费、价格、平台支持范围或效果保证等信息。