用途:面向需要对 PDF 做程序化处理的用户,覆盖文本与表格抽取、创建新 PDF、合并/拆分、旋转页面、加水印、加解密及处理表单等任务,适合在 Claude 环境下调用。
主要能力:
- 基础读写与结构操作:用 pypdf 读取页数、提取文本、读取元数据(title/author/subject/creator)、合并多个 PDF、按页拆分、旋转页面、合并水印、设置用户密码与所有者密码加密。
- 文本与表格抽取:用 pdfplumber 按页面提取文本和表格,可将表格转为 pandas DataFrame 并导出为 Excel;支持带布局的文本提取。
- 创建 PDF:用 reportlab 的 canvas 绘制文字和线条,或用 Platypus(SimpleDocTemplate、Paragraph、Spacer、PageBreak)生成多页含样式文档。
- 命令行工具:pdftotext 提取文本(可用 -layout 保留布局,-f/-l 指定页码范围);qpdf 合并、按页范围拆分、旋转、去除密码;pdftk 若可用则支持合并、burst 拆分、旋转。
- 扫描件 OCR:需先安装 pytesseract 与 pdf2image,用 convert_from_path 将 PDF 转成图片后逐页 OCR。
使用方式:在 Python 中通过 pypdf、pdfplumber、reportlab、pandas、pytesseract 等库编写脚本,或直接执行 pdftotext、qpdf、pdfimages 等命令行工具。示例命令保持如下:pdftotext -layout input.pdf output.txt;qpdf --empty --pages file1.pdf file2.pdf -- merged.pdf;qpdf --password=mypassword --decrypt encrypted.pdf decrypted.pdf;pdfimages -j input.pdf output_prefix。
适用场景:批量合并或拆分文档、从报表中提取表格并转 Excel、生成报告类 PDF、为文档加水印或加密、对扫描件做 OCR。
限制:OCR 需额外安装依赖;高级 pypdfium2、JavaScript 的 pdf-lib 用法及详细示例见 reference.md;填写 PDF 表单需按 forms.md 指示操作;资料未提供收费、价格、平台或效果等具体信息。