pdf

PDF 综合工具:提取文本与表格、生成/合并/拆分 PDF、处理表单。当需要填写 PDF 表单、批量处理/生成或分析 PDF 时使用。

SKILL.md

GitHub

PDF 处理指南

概述

本指南介绍使用 Python 库与命令行进行 PDF 处理的常用操作。高级功能、JavaScript 库与填表流程见原技能 reference.md / forms.md。

快速开始

from pypdf import PdfReader, PdfWriter

reader = PdfReader("document.pdf")
print(f"Pages: {len(reader.pages)}")

text = ""
for page in reader.pages:
    text += page.extract_text()

Python 库

pypdf:基础操作

合并:PdfWriter 循环读入多个 PDF,add_page 后 write 输出。
拆分:遍历 reader.pages,每页单独 PdfWriter 写出。
元数据:reader.metadata(title, author, subject, creator)。
旋转:page.rotate(90) 后写入新 PDF。

pdfplumber:文本与表格提取

  • 文本:pdfplumber.open() 遍历 pdf.pages,page.extract_text()。
  • 表格:page.extract_tables(),可转 DataFrame 再导出 Excel。

reportlab:生成 PDF

  • 简单:canvas.Canvas + drawString、line 等,最后 save。
  • 多页/富文本:SimpleDocTemplate、Paragraph、Spacer、PageBreak,使用 getSampleStyleSheet。

何时使用

  • 提取 PDF 文本或表格
  • 合并、拆分、旋转页面
  • 程序化生成 PDF 报告
  • 填写或解析 PDF 表单(见 forms.md)