批量处理学术论文 PDF → 提取元数据 → AI 修正 → 生成文献目录。
支持 9 种引用格式,输出于 PDF 所在目录。
本工具仅供个人学术研究、学习参考使用,严禁商业目的。AI 提炼的【论点摘要】仅供参考,引用前请核实原文。所有处理在本地完成,不存储、不上传、不传播 PDF 内容。
pip install pdfplumber
$env:PYTHONIOENCODING='utf-8'
python scripts/extract_catalog.py --input ".\论文文件夹" --quick
输出三个文件(均在 PDF 所在目录):
_paper_diag_quick.txt — 高置信度条目的草稿引用,和待补条目清单_paper_diag.json — 完整诊断数据_paper_diag_preview.txt — 人工可读预览> 实测:8 篇中 5 篇期刊名被脚本自动提取(深页眉扫描命中),AI 只需修正剩余的 3 篇。
python scripts/extract_catalog.py --input ".\论文文件夹"
📂 扫描: C:\Users\xxx\Desktop\梁实秋
📄 8 个 PDF,开始诊断...
--------------------------------------------------
[1/8] 白璧德人文主义运动与现代新儒学_刘聪.pdf ← 文件名中有作者+标题
文本质量: OK (乱码比=0.022)
标题: 白璧德人文主义运动与现代新儒学 [60%]
作者: 刘 聪 [60%]
期刊: 文学评论 [70%] ← 深页眉扫描自动捕获 (第3页)
年份: 2009 [85%] 期号: 6 [85%]
页码: 112-119 [起95%/止95%]
单位: 曲阜师范大学文学院 [85%]
⚠ AI需处理: title, author ← 仅需清洗空格,无需搜索
[3/8] 梁实秋与新人文主义_罗钢.pdf
文本质量: OK (乱码比=0.042)
标题: 梁 实秋与新 人文 主义 [60%]
期刊: None [0%] ← 连深页眉也扫不到 → AI 批量搜索
⚡ WARN_04: 页码信息无法提取
⚠ AI需处理: title, author, journal, author_unit
错误码速查:
| 码 | 含义 | AI对策 |
|---|---|---|
| ---- | ------ | -------- |
| WARN_01 | 文本层乱码 | 文件名+搜索引擎补全 |
| WARN_03 | 疑似扫描件/无文本层 | 需 OCR 或手动录入 |
| WARN_04 | 页眉/页脚无匹配页码 | 估算或标"无法读取" |
| WARN_05 | 期刊名仅从深页眉匹配 | 交叉验证即可 |
步骤1: python extract_catalog.py --input <目录> --quick
↓ 自动:扫描 PDF、深页眉匹配、输出 JSON+草稿
步骤2: AI 读 JSON → 汇总所有缺字段 → 一次性批量搜索 → 修正
↓
步骤3: AI 提炼论点摘要(80-250字分析型)+ 补齐单位/页码
↓
步骤4: 按选定格式渲染 → write_file.py 写入 PDF 所在目录
搜索优先级:学术搜索 skill > online-search > web_fetch。全部失败标"待查",不编造。
| PDF 类型 | 提取率 | 对策 |
|---|---|---|
| ---------- | -------- | ------ |
| 现代学术 PDF(2010+) | ~85% | 基本无需 AI 干预 |
| 知网/万方扫描版(2000-2010) | ~60% | AI 修正占比高 |
| 老论文(1980-1999) | ~40% | 内嵌字体乱码,需搜索引擎补全 |
| 影印版/无文本层 | 0% | 需 OCR 或手动录入 |
详见 references/citation_formats.md,支持 9 种:GB/T 7714 双体系 + APA/MLA/Chicago NB/AD/IEEE/Harvard/Vancouver。
| 文件 | 内容 |
|---|---|
| ------ | ------ |
references/ai_workflow.md | AI 批量修正 + 搜索策略 |
references/citation_formats.md | 9 种格式完整模板 |
references/troubleshooting.md | 问题排查(含深页眉策略 §8) |
scripts/extract_catalog.py | v1.3.1 诊断提取 + --quick 模式 |
v1.3.1 更新:一键 quick 模式 + 统一错误码 WARN_01~06 + 完整终端输出示例。
共 3 个版本