跳转到内容

Fire-PDF 概览

Fire-PDF 是我们基于 Rust 开发的 PDF 解析引擎,用于把任何 PDF(扫描版、纯文本版、混合版)转换为结构化 Markdown。

它的目标不是“把字识别出来就算完成”,而是把内容以正确的阅读顺序、正确的结构输出出来:

  • 表格保留为 Markdown 表格
  • 公式保留为 LaTeX
  • 多列文本顺序正确

相较于旧解析器,Fire-PDF 通常能带来 3.5–5.7 倍提速,平均每页不到 400ms。

核心原因是把 GPU 处理变成“按需分配”:

  • 纯文本页:原生提取,完全跳过 GPU
  • 扫描页/图像密集页:进入神经布局模型与 OCR

pdf-inspector 是我们开源的 Rust 库,通过分析 PDF 内部结构(字体编码、文本运算符、图像覆盖率等)在毫秒级对每页进行分类,无需渲染。

这让混合文档的成本与延迟都能显著下降:例如 150 页文本 + 60 页扫描的财报,只需要把扫描页送去 GPU。

Fire-PDF 使用神经文档布局模型,对每页内容进行区域级别的理解:文本块、表格、公式、图像、页眉/页脚会被分别检测与处理。

不同区域类型使用不同的预算与提示策略:

  • 表格:更高 token 限制,最多 25 秒生成更准确的 Markdown 表格
  • 公式:公式特定提示,输出保留 LaTeX
  • 文本区域:预算更紧(例如 12 秒、最多 256 token)以提升吞吐
  • 阅读顺序:神经系统预测,遇到多列结构使用 XY-cut 投影兜底
  1. 分类:扫描 PDF 内部结构,按页区分“纯文本”与“需要 OCR”
  2. 渲染:需要 OCR 的页按 200 DPI 渲染为图像,过大页面会自动裁剪/截断
  3. 布局检测:GPU 神经布局模型输出边界框、元素类型与阅读顺序
  4. 提取:文本页原生提取;扫描区域按任务类型发送到视觉语言模型(GLM-OCR)
  5. 组装:按阅读顺序组装 Markdown;表格转 Markdown 表;公式保留 LaTeX;几何去重移除重叠检测