# Docling 双栏 PDF 解析：阅读顺序、段落引用与原文对照

Docling 双栏 PDF 解析按本页输入、步骤与检查复现。已真实运行 Docling 2.138.0 CPU、无 OCR：4 章节与 8 段正文顺序通过；反转段落负例被拒绝。仅本页数字 PDF，不代表扫描件。

## 1. 对照双栏输入
source.pdf 左侧是 Collect/Check，右侧是 Review/Export；expected.json 保存人工期望章节与段落顺序。

## 2. 按官方参数准备独立环境
本次实测使用 CPU、2 线程、Heron 版面与 Fast 表格模式，关闭 OCR；首次仍需模型文件。数字 PDF 的完整顺序检查通过；不推广为任意扫描件准确。

## 3. 导出结构与 Markdown
用 DocumentConverter 保存 result.md 和 document.json，保留原 PDF，不删除布局来源。
```sh
# 与本页保存的 Fast 实测一致
python3 run-docling.py --fast
```

## 4. 按完整段落核对顺序
期望先左栏四段再右栏四段，比较完整句而不是只看出现了哪些关键词。

## 5. 回查 provenance 与漏段
对错误段落用 document.json 中来源坐标回查原 PDF；文本完整但顺序交替仍应判失败。

## 6. 读取文件检查而非只看截图
check-output.py 从 result.md 检查完整段落与章节顺序。删除首段的 negative-result.md 会使同一脚本失败。已真实运行 Docling 2.138.0 CPU、无 OCR：4 章节与 8 段正文顺序通过；反转段落负例被拒绝。仅本页数字 PDF，不代表扫描件。
```sh
python3 run-docling.py
python3 check-output.py
```

## 7. 保存来源与错误样本
保留 source.pdf/source.png、原始 JSON、软件版本和人工核对记录。自动结构检查只验证本教材约定，仍需检查布局与语义。