PDF Proofreading
目的:对排版完成后的学术 PDF 做上线前终校,交付一份检查项结果 Excel。
检查必须执行两次(不要合成一轮、不要一次扔 167 条):
- 格式一轮:直接读 PDF 页面,只判
格式/内容+格式的显示侧 - 内容按章:再读同一份 PDF,只判
内容/内容+格式的内容侧,按章 0→13
不解析 PDF 成文本库。不向用户索要 Word 或其他旁路材料。
- 输入:待校 PDF
- 审查:
checklists/items.json(一份;用问题类型分流,不拆成两张表) - 交付:填好的结果 Excel(唯一交付物)
文件
| 角色 | 路径 |
|---|---|
| 总清单(筛类型 / 按章) | checklists/items.json |
| 第 1 次:格式 | prompts/check_format.md |
| 第 2 次:内容 | prompts/check_content.md |
| 填表 | prompts/fill_report.md |
| 脚本 | scripts/fill_result_xlsx.py |
路径相对 pdf-proofreading/。
进度
PDF校对进度:
- [ ] 1. 确认待校 PDF
- [ ] 2. 第 1 次执行:格式一轮(check_format.md)→ 写入 result.json
- [ ] 3. 第 2 次执行:内容按章 0→13(check_content.md)→ 追加 result.json
- [ ] 4. --status 为 complete 后填表并交给用户
两次都直接读原 PDF。格式必须看页面视觉。内容+格式 两条都要写,脚本按同一 code 合并(任一侧待人工 → 总结果待人工)。
步骤
第 1 次 — 格式一轮
严格按 prompts/check_format.md。从 items.json 只取 type 为 格式 或 内容+格式 的条目,一轮做完。不要判纯 内容 条。
第 2 次 — 内容按章
严格按 prompts/check_content.md。每章:
python scripts/fill_result_xlsx.py --print-batch N
只判本章里 type 为 内容 或 内容+格式 的条目;跳过纯 格式(第 1 次已做)。追加进 result.json,不要改第 1 次已写的纯格式 code。无把握 → 待人工检查。
python scripts/fill_result_xlsx.py --result result.json --status
填表
complete 之后:
python scripts/fill_result_xlsx.py \
--result result.json \
-o "../output/PDF校对结果_<稿件名>.xlsx"
唯一交付物是该 Excel。
结果取值
| 结果 | 何时 |
|---|---|
通过 |
已核对且 note 有页码/对象;未见问题 |
待人工检查 |
有问题/疑点/看不清,或证据不够 |
N/A |
对本稿不适用;note 写原因 |
Scope
- 查:内容正确性/一致性、交叉引用;会妨碍阅读的显示问题
- 不查:纯版式审美、图源 DPI、内部 DOI 分配、作者增删流程
Anti-patterns
- 两次合成一次,或一次对照全部 167 条
- 把 PDF 解析成 txt/索引再当依据
- 只执行格式或只执行内容
- 只凭提取文本判截断 / 叠压 / 水印
- 缺条仍交 Excel
- 用 Markdown 报告代替交付 Excel
- 索要 PDF / 清单以外的材料