用途
本技能是一份 PDF 处理指南,旨在帮助完成常见的 PDF 操作任务,包括提取文本和表格、创建新 PDF、合并与拆分文档、处理表单等。文档以 Python 库和命令行工具为主,提供可直接参考的代码示例。
主要能力
基础操作(pypdf)
- 读取 PDF 并获取页数
- 提取文本
- 合并多个 PDF
- 拆分 PDF(每页一个文件)
- 提取元数据(标题、作者、主题、创建者)
- 旋转页面
文本与表格提取(pdfplumber)
- 按布局提取文本
- 提取表格
- 结合 pandas 将表格导出为 Excel
创建 PDF(reportlab)
- 使用 Canvas 创建基础 PDF,添加文本和线条
- 使用 Platypus 创建多页 PDF,包含标题、正文、分页等
命令行工具
- pdftotext(poppler-utils):提取文本,支持保留布局、指定页码范围
- qpdf:合并、拆分、旋转页面、移除密码
- pdftk(如可用):合并、拆分、旋转
- pdfimages(poppler-utils):提取图片
常见任务
- 从扫描 PDF 提取文本(需 pytesseract 和 pdf2image,先转图片再 OCR)
- 添加水印(使用 pypdf 合并水印页)
- 密码保护(使用 pypdf 加密)
使用方式
文档以代码片段形式展示各操作,用户可根据需要复制并调整。部分任务需要安装相应库,例如 pip install pytesseract pdf2image。文档还提到进阶用法可参考 reference.md,填写 PDF 表单需参考 forms.md。
适用场景
- 需要从 PDF 中批量提取文本或表格数据
- 需要合并、拆分或旋转 PDF 页面
- 需要程序化创建 PDF 报告
- 需要为 PDF 添加水印或密码
- 需要处理扫描件并进行 OCR
限制
文档未说明各库的版本要求、性能限制或平台兼容性。部分工具(如 pdftk)标注为“if available”,可能并非所有环境都可用。表单填写和进阶功能的具体内容需查看其他文档(forms.md、reference.md),本资料未提供其详细内容。