[ PROMPT_NODE_26506 ]
PDF PDF 处理
[ SKILL_DOCUMENTATION ]
# PDF 处理指南
## 概述
使用 Python 库和命令行工具提取文本/表格、创建 PDF、合并/拆分文件以及填写表单。应用此技能进行程序化文档处理与分析。如需高级功能或表单填写,请查阅 reference.md 和 forms.md。
## 使用科学示意图进行视觉增强
**使用此技能创建文档时,请始终考虑添加科学图表和示意图以增强视觉传达效果。**
如果您的文档尚未包含示意图或图表:
- 使用 **scientific-schematics** 技能生成 AI 驱动的出版级图表
- 只需用自然语言描述您想要的图表
- Nano Banana Pro 将自动生成、审查并优化该示意图
**对于新文档:** 应默认生成科学示意图,以直观地呈现文本中描述的关键概念、工作流、架构或关系。
**如何生成示意图:**
bash
python scripts/generate_schematic.py "your diagram description" -o figures/output.png
AI 将自动:
- 创建格式规范的出版级图像
- 通过多次迭代进行审查和优化
- 确保可访问性(色盲友好、高对比度)
- 将输出保存到 figures/ 目录中
**何时添加示意图:**
- PDF 处理工作流图
- 文档操作流程图
- 表单处理可视化
- 数据提取管道图
- 任何受益于可视化的复杂概念
有关创建示意图的详细指南,请参阅 scientific-schematics 技能文档。
---
## 快速入门
python
from pypdf import PdfReader, PdfWriter
# 读取 PDF
reader = PdfReader("document.pdf")
print(f"Pages: {len(reader.pages)}")
# 提取文本
text = ""
for page in reader.pages:
text += page.extract_text()
## Python 库
### pypdf - 基本操作
#### 合并 PDF
python
from pypdf import PdfWriter, PdfReader
writer = PdfWriter()
for pdf_file in ["doc1.pdf", "doc2.pdf", "doc3.pdf"]:
reader = PdfReader(pdf_file)
for page in reader.pages:
writer.add_page(page)
with open("merged.pdf", "wb") as output:
writer.write(output)
#### 拆分 PDF
python
reader = PdfReader("input.pdf")
for i, page in enumerate(reader.pages):
writer = PdfWriter()
writer.add_page(page)
with open(f"page_{i+1}.pdf", "wb") as output:
writer.write(output)
#### 提取元数据