你找到一篇关键论文,打开 PDF:每页都是图片,Ctrl+F 搜不了。想定位一个材料名或摘录一段方法描述,只能对着屏幕逐字敲。分辨率偏低、字迹边缘模糊、带噪点的扫描件,或是盖着图书馆印章的旧论文,处理起来更棘手。
手工打字既慢,也容易漏掉上下文。Marker 的处理价值正好对应这个场景:先把扫描页解析成可搜索、可复制、可继续整理的 Markdown 或 JSON 工作稿。

图 1|扫描页到 PDF 解析工作稿。 从不可选中的图片,到可以搜索、复制和标注的文本。
●1. 先解析扫描 PDF:工作稿比单纯识别更有用
扫描页最先要解决的,不是排版有多漂亮,而是先恢复文字层。Marker 会在必要时使用基于 Surya 的 OCR 引擎,同时处理标题、段落、阅读顺序、表格、公式和图片,并输出 Markdown、JSON、HTML 或 chunks。
Marker 不只是把图片转成字符:它会把 OCR、版面和阅读顺序放在同一条 PDF 转换链里处理。所以扫描页 OCR 只是它处理 PDF 的一个入口,在识别文字的同时也关注页面结构等信息的解析处理。

图 2|Marker 的 PDF 解析工作稿。 先得到可搜索的工作稿,关键细节仍要回原 PDF 核对。
●2. 安装与配置:装好 Marker,还要准备 Surya 推理后端
Marker 项目本体使用 pip install marker-pdf 安装。想要对没有文字层的扫描 PDF 做解析,还需要准备作为 OCR 引擎的 Surya 推理服务。Marker 首次运行会尝试启动服务,模型和推理后端配置有两种:
●CPU 路径:llama.cpp + Surya GGUF 模型。
●NVIDIA GPU 路径:Docker + NVIDIA Container Toolkit + vLLM + Surya 模型。

图 3|Marker 官方安装与推理后端说明。 安装 Marker 后,扫描 OCR 仍需按硬件准备 Surya 推理后端。
两条路径按硬件二选一,不需要同时安装。准备好其中一套推理环境后,扫描页或乱码文字层再加 --force_ocr:
marker_single paper.pdf --force_ocr --output_format markdown --paginate_output
--force_ocr 会让整份文档重新走 OCR;如果只有少数页面异常,可以再用 --page_range 缩小处理范围。它解决的是“没有可用文字层”,不能恢复原图里已经模糊或被印章遮住的字符。
●3. 从检索到引用:能定位,不能定稿
Marker 生成的工作稿,最适合先做检索入口。输入材料名、方法名或关键词,先定位它出现在哪一页,再回到对应页面看上下文,比对着扫描图逐页翻找更省力。
●找材料名、方法名、关键词: 工作稿可以直接承担,核对命中页是否对应。
●阅读普通正文、整理线索: 可以先用工作稿,核对段落上下文和页码。
●写入调研表、方案或引用: 不能直接用,数字、单位、公式、表格、图注和脚注都要回原 PDF 核对。
扫描件的解析质量决定工作稿能否直接使用。最危险的不是整段乱码,而是只错一个字符:例如把 10⁻³ 识别成 10³,句子仍然通顺,数值含义却已经变了。
所以拿到工作稿后,按这个顺序确认一遍:
●先搜一个已知关键词,确认输出确实可检索。
●再按页码回原 PDF,确认标题、段落和上下文没有错位。
●最后挑一个数字或公式;核对通过,才能写进正式材料。
手上那篇让人头疼的扫描论文,今天可以先输出一份带页码分隔的 Markdown:搜一个目标词,再抽查一个数字或公式。关键词命中但页码对不上,只把结果当检索线索;数字或公式无法回原页确认,就不要写进调研表或文章引用。
下一步问题|正文能复制,双栏粘贴却乱序怎么办?
下一期看 Docling:当难点从"读不出来"变成"顺序读不对",该怎样恢复论文的阅读结构。
夜雨聆风