Skip to content

DocVortex 0.5.13

Choose a tag to compare

@myhloli myhloli released this 09 Oct 03:50

DocVortex 0.5.13 为扫描 PDF 增加独立 CPU ONNX OCR,并保留视觉块标题和脚注中的原始书签,使目录及行内链接可以跳转到导出的说明文字。

  • analyze()、parse() 和 convert() 新增 parse_mode="auto"|"txt"|"ocr",CLI 对应 --parse-mode。默认 auto 对选定页面分类,再为整个选区选择原生文字或 OCR;txt 强制原生解析并跳过分类与模型下载,ocr 强制 OCR。混合 PDF 若整体分类为 txt,扫描页需要显式选择 ocr。
  • OCR 使用 PP-DocLayoutV2、PP-OCRv6 Tiny Det/Small Rec 和 CPU ONNX Runtime,首次使用自动下载约 239 MB 的六个模型及配置文件到 ~/.docvortex/model/MinerU-4_models_onnx/。下载支持 Hugging Face/ModelScope 回退、SHA256 校验、原子安装和文件锁;有效缓存支持离线复用。运行不依赖 MinerU、Torch、PaddleOCR、PaddleX 或 OpenCV。
  • 视觉标题和脚注支持可选 anchor 字段,覆盖图片、表格、图表和代码说明。DOCX 来源书签、HTML 往返、Markdown、EPUB、LaTeX、PDF 和 Structured Content 保留对应链接目标;带书签的表格说明在合并时保留,空目标与重复目标按可见内容和文档顺序处理。
  • 修正跨平台回归数据:固定 EPUB 金样的 PNG 字节,避免平台压缩库差异影响标识;读取 JSON Schema 时显式指定 UTF-8。

OCR 首版保留区域级文字与图像:表格保留空间投影文字和截图,独立公式保留含编号的截图,行内公式走普通 OCR 文本。未接入表格结构、公式识别、方向分类或矫正模型。真实扫描页审阅发现版面模型可能给出局部重叠的标题/正文区域,例如 Abstract 标签,PDF 导出时可能出现重复叠印;本版不保证复刻原版排版。

本地独立安装的原生 wheel 通过 170 项 OCR、视觉书签、表格合并和公开接口专项测试。真实扫描页在禁止模型下载请求的进程中完成缓存校验、auto OCR、HTML/Markdown 导出、Bundle 回读及 PDF 导出;独立环境不含 MinerU、Torch、PaddleOCR、PaddleX 或 OpenCV。原生文字 PDF 的 Python/Rust 完整输出对照与 pip check 通过。私有原生协议保持 32。

行为边界见 使用指南、模型来源、JSON 协议 和 HTML 协议。

main 跨平台 CI 的 23 项任务全部通过,覆盖 Python 3.10/3.14、Python/Rust、Windows ARM64 ABI、PDFium 与 Pydantic 版本,以及跨平台字体和页面几何一致性。

发布流水线 的 14 项任务全部通过,六个平台原生 wheel、纯 Python wheel 和源码包已上传 PyPI 0.5.13。正式 macOS ARM64 wheel 已独立下载并核对 PyPI SHA256;新环境中的版本、协议 32、原生文字 PDF 的 Python/Rust 对照、170 项 OCR/书签/公开接口测试和 pip check 全部通过。正式包的真实扫描页离线 OCR 与发布前 Markdown/HTML 字节一致,当前 MinerU 的 103 项边界、协议、路由与 OpenCV 边界测试通过。

完整变更:v0.5.12 → v0.5.13