文档处理
Document Processing
Claude Code 具备强大的文档处理能力,可以读取、分析和转换各种格式的文档。从 PDF 发票信息提取到多文档对比分析,Claude Code 能够高效完成日常文档处理任务。
PDF 发票信息提取
PDF Invoice Data Extraction
Claude Code 可以读取 PDF 文件并提取其中的结构化数据,非常适合处理发票、收据和财务文档。
基本用法
bash
# 提取单张发票的关键信息
请读取 invoices/invoice-2025-001.pdf,提取以下信息:
- 发票号码
- 开票日期
- 供应商名称
- 商品明细(名称、数量、单价、金额)
- 合计金额
- 税额
输出为 JSON 格式提取结果示例
Claude 会将 PDF 中的信息提取为结构化数据:
json
{
"invoice_number": "INV-2025-001",
"date": "2025-03-15",
"vendor": "北京科技有限公司",
"items": [
{
"name": "云服务器 ECS(月费)",
"quantity": 3,
"unit_price": 500.00,
"amount": 1500.00
},
{
"name": "对象存储 OSS(月费)",
"quantity": 1,
"unit_price": 200.00,
"amount": 200.00
}
],
"subtotal": 1700.00,
"tax": 102.00,
"total": 1802.00
}批量处理发票
bash
# 批量提取 invoices/ 目录下所有 PDF 发票
请读取 invoices/ 目录下的所有 PDF 文件,
提取每张发票的关键信息,
汇总到一个 CSV 文件 invoices/summary.csv 中。
CSV 列:发票号码、日期、供应商、合计金额、税额输出 CSV 示例
| 发票号码 | 日期 | 供应商 | 合计金额 | 税额 |
|---|---|---|---|---|
| INV-2025-001 | 2025-03-15 | 北京科技有限公司 | 1802.00 | 102.00 |
| INV-2025-002 | 2025-03-20 | 上海软件科技 | 3500.00 | 210.00 |
| INV-2025-003 | 2025-03-25 | 深圳云计算有限公司 | 8900.00 | 534.00 |
注意事项
| 情况 | 处理方式 |
|---|---|
| 扫描件 PDF(图片) | Claude 可以通过视觉理解提取信息 |
| 文字 PDF | 直接读取文本内容,准确度更高 |
| 加密 PDF | 需先解密才能读取 |
| 超大 PDF | 指定页码范围分批处理 |
文档摘要生成
Document Summarization
Claude Code 可以对长文档生成简洁、准确的摘要,帮助你快速掌握文档核心内容。
单文档摘要
bash
# 生成一份技术文档的摘要
请读取 docs/architecture-design.md,生成以下摘要:
1. 一句话概述(50字以内)
2. 核心要点(3-5条)
3. 关键决策及其理由
4. 待解决的问题分级摘要
bash
# 为不同读者生成不同深度的摘要
请读取 reports/quarterly-report-2025-q1.pdf,
分别为以下角色生成摘要:
1. 高管摘要(200字,关注业务指标和趋势)
2. 技术摘要(500字,关注技术细节和架构变更)
3. 详细摘要(1000字,包含所有关键数据和建议)摘要模板
| 摘要类型 | 适用场景 | 长度 |
|---|---|---|
| 执行摘要 | 管理层汇报 | 100-200字 |
| 技术摘要 | 技术团队分享 | 300-500字 |
| 详细摘要 | 全面了解文档 | 800-1500字 |
| 要点列表 | 快速回顾 | 5-10条要点 |
会议纪要生成
bash
# 从会议记录生成结构化纪要
请读取 meetings/2025-03-15-sprint-planning.txt,
生成标准会议纪要,包含:
- 会议基本信息(时间、参与者、主题)
- 讨论要点
- 决策事项
- 行动项(负责人 + 截止日期)
- 待跟进问题多文档对比分析
Multi-Document Comparison
当你需要对比多个文档的内容差异时,Claude Code 可以系统化地进行分析。
API 文档版本对比
bash
# 对比两个版本的 API 文档
请读取以下两个文件:
- docs/api-v1.md
- docs/api-v2.md
生成变更报告,包含:
1. 新增的接口
2. 删除的接口
3. 修改的接口(参数变化、返回值变化)
4. 不兼容的变更(Breaking Changes)
5. 迁移建议对比结果示例
markdown
## API v1 → v2 变更报告
### 新增接口(3个)
| 接口 | 方法 | 说明 |
|------|------|------|
| /api/v2/users/batch | POST | 批量创建用户 |
| /api/v2/analytics | GET | 数据分析接口 |
| /api/v2/webhooks | POST | Webhook 注册 |
### Breaking Changes(2个)
1. `GET /api/users` 分页参数从 `page/size` 改为 `offset/limit`
2. 所有错误响应格式统一为 `{ "error": { "code": "", "message": "" } }`
### 迁移建议
- 分页参数映射:`page * size = offset`
- 建议先升级错误处理逻辑,再升级其他接口合同对比
bash
# 对比两份合同的条款差异
请读取以下两个合同文件:
- contracts/vendor-a-proposal.pdf
- contracts/vendor-b-proposal.pdf
对比以下维度:
1. 价格条款
2. 服务范围
3. SLA 保证
4. 违约条款
5. 付款方式
生成对比表格配置文件对比
bash
# 对比不同环境的配置差异
请对比以下配置文件:
- config/development.yaml
- config/staging.yaml
- config/production.yaml
列出所有差异项,标注哪些差异是有意为之,哪些可能是配置遗漏Markdown 文档批量转换
Batch Markdown Conversion
Claude Code 可以批量处理和转换 Markdown 文档,适合文档体系的升级和迁移。
格式标准化
bash
# 统一 docs/ 目录下所有 Markdown 文件的格式
请处理 docs/ 目录下所有 .md 文件:
1. 确保每个文件都有 YAML front matter(title, description)
2. 标题层级从 h1 开始,不跳级
3. 代码块都标注语言类型
4. 表格格式对齐
5. 链接检查(是否有死链)
输出修改清单,然后逐个修改文档模板应用
bash
# 为所有 API 文档应用统一模板
请将 docs/api/ 目录下的所有文件按以下模板重新组织:
模板结构:
---
title: [接口名称]
method: [GET/POST/PUT/DELETE]
path: [接口路径]
---
## 描述
## 请求参数
## 响应格式
## 错误码
## 示例多语言翻译
bash
# 批量翻译文档
请将 docs/en/ 目录下的所有 .md 文件翻译成中文,
保存到 docs/zh/ 目录下,保持相同的文件名和目录结构。
翻译要求:
- 代码块不翻译
- 技术术语保留英文原文,括号内注中文
- 保持 Markdown 格式完整格式转换对照表
| 源格式 | 目标格式 | 命令示例 |
|---|---|---|
| Markdown → HTML | 带样式的 HTML | 请将 doc.md 转换为独立的 HTML 文件 |
| Markdown → JSON | 结构化数据 | 请将 doc.md 的内容提取为 JSON |
| 多个 MD → 单一 PDF | 合并文档 | 请合并 docs/ 下所有文件为一份报告 |
| RST → Markdown | 格式迁移 | 请将 .rst 文件转换为 Markdown |
数据提取到结构化格式
Data Extraction to Structured Formats
Claude Code 擅长从非结构化文档中提取数据并转换为 JSON、CSV 等结构化格式。
从文本提取到 JSON
bash
# 从自然语言描述中提取结构化数据
请读取 data/product-descriptions.txt,
这个文件包含多个产品的文字描述,
请提取以下字段并输出为 JSON 数组:
- name(产品名称)
- category(产品类别)
- price(价格,数值类型)
- features(特性列表)
- availability(是否有货,布尔值)JSON 输出示例
json
[
{
"name": "智能手表 Pro",
"category": "可穿戴设备",
"price": 1299.00,
"features": ["心率监测", "GPS定位", "防水50米", "7天续航"],
"availability": true
},
{
"name": "无线降噪耳机 X3",
"category": "音频设备",
"price": 899.00,
"features": ["主动降噪", "蓝牙5.3", "40小时续航"],
"availability": true
}
]从表格图片提取到 CSV
bash
# 从截图中提取表格数据
请查看 screenshots/report-table.png,
将图片中的表格数据提取为 CSV 格式,
保存到 data/extracted-table.csv日志解析
bash
# 从服务器日志中提取错误信息
请读取 logs/server-2025-03-15.log,
提取所有 ERROR 级别的日志条目,输出为 JSON:
{
"timestamp": "时间戳",
"level": "ERROR",
"module": "模块名",
"message": "错误消息",
"stack_trace": "堆栈跟踪(如有)"
}数据清洗
| 操作 | 说明 | 示例 |
|---|---|---|
| 去重 | 删除重复记录 | 去除 data.csv 中的重复行 |
| 标准化 | 统一日期/数字格式 | 将日期统一为 YYYY-MM-DD |
| 补全 | 填充缺失字段 | 根据上下文推断缺失的类别 |
| 验证 | 检查数据一致性 | 检查金额列的合计是否正确 |
实际案例
Practical Cases
案例一:季度报告数据提取
场景:财务团队需要从 12 份月度 PDF 报告中提取关键指标。
bash
# 提取并汇总
请读取 reports/monthly/ 目录下的所有 PDF 文件(1月到12月),
从每份报告中提取以下指标:
- 月份
- 营收
- 成本
- 利润
- 用户增长数
输出到 reports/annual-summary.csv,并计算年度合计结果:
| 月份 | 营收(万) | 成本(万) | 利润(万) | 用户增长 |
|---|---|---|---|---|
| 1月 | 120 | 85 | 35 | 5,200 |
| 2月 | 115 | 82 | 33 | 4,800 |
| ... | ... | ... | ... | ... |
| 合计 | 1,580 | 1,050 | 530 | 62,400 |
案例二:技术文档迁移
场景:将旧版 Wiki 文档迁移到新的文档系统。
bash
# 步骤 1:分析现有文档结构
请列出 wiki-export/ 目录下所有文件及其层级结构
# 步骤 2:格式转换
请将 wiki-export/ 下所有 .html 文件转换为 Markdown,
保存到 docs/ 目录下,保持相同的目录结构
# 步骤 3:添加 front matter
请为每个转换后的 .md 文件添加 YAML front matter,
标题从文件内的 h1 提取,描述从第一段文字提取
# 步骤 4:修复链接
请检查所有 .md 文件中的内部链接,
将 .html 后缀替换为 .md,修复相对路径案例三:合规审查辅助
场景:法务团队需要快速审查多份合同中的关键条款。
bash
请读取 contracts/ 目录下的所有 PDF 合同文件,
为每份合同提取以下信息:
1. 合同编号和签署日期
2. 合同期限和续约条件
3. 违约金条款
4. 保密义务期限
5. 争议解决方式(仲裁/诉讼)
6. 知识产权归属条款
生成一份汇总表格(CSV),同时对潜在的风险条款标注警告最佳实践
Best Practices
| 实践 | 说明 |
|---|---|
| 分批处理 | 大量文档分批处理,避免上下文溢出 |
| 指定页码 | 处理大型 PDF 时指定页码范围 |
| 验证结果 | 对提取的数据进行抽样核验 |
| 明确格式 | 在提示中明确期望的输出格式 |
| 保留原件 | 处理结果另存,不修改原始文件 |
| 敏感信息 | 注意文档中的个人信息和商业秘密 |