GLM-OCR实战:如何把一份PDF从图片变成结构化Markdown
2026/8/30 14:34:30 网站建设 项目流程

GLM-OCR实战:如何把一份PDF从图片变成结构化Markdown

【免费下载链接】GLM-OCRGLM-OCR: Accurate × Fast × Comprehensive项目地址: https://gitcode.com/GitHub_Trending/gl/GLM-OCR

📄 如果你正在找一款能快速把 PDF 变成结构化 Markdown 的 OCR 工具,那么 GLM-OCR 值得放进你的工具箱。GLM-OCR 是一款面向复杂文档理解的多模态 OCR 模型,它能把扫描件、拍照件甚至整份 PDF 逐页转成带表格、公式(LaTeX)和版式坐标的结构化 Markdown,总参数量仅 0.9B,支持云端 API 与本地自部署,是新手上手文档结构化成本很低的"高精度 × 快 × 全面"方案。

为什么选 GLM-OCR:不止"识别文字"

传统 OCR 往往只吐出一堆纯文本,段落错位、表格散架、公式变成乱码。GLM-OCR 走的是"两阶段"路线:

  1. 版面分析:基于 PP-DocLayout-V3 先找出页面上的文本、表格、公式、图片等区域;
  2. 并行识别:把每个区域裁剪后并行送入视觉语言模型识别,再按阅读顺序合并。

关键特性一览:

  • 🏆 在 OmniDocBench V1.5 上取得 94.62 分,综合排名第一
  • 🧩 复杂表格、代码密集文档、印章、手写体等真实高难场景表现稳定
  • ⚡ 0.9B 参数,支持 vLLM、SGLang、Ollama 部署,推理成本低
  • 📦 全面开源,提供完整 SDK 与 Web 应用,一行命令即可调用

原始输入文档(论文页图片)长这样,版面元素混杂着正文与数学公式:

三步流水线:PDF 是怎么变成 Markdown 的

GLM-OCR 的核心是一条三段式异步流水线,源码在 glmocr/pipeline/pipeline.py:

阶段模块做什么
① 加载页面PageLoader读取图片;PDF 先转成逐页图片
② 版面检测LayoutDetector检测每页的文本/表格/公式/图片区域
③ 区域识别OCRClient调用 GLM-OCR 模型服务并行识别各区域
④ 结果格式化ResultFormatter按阅读顺序合并,输出 JSON + Markdown

各模块可单独替换扩展:页面加载见 glmocr/dataloader/page_loader.py,版面检测见 glmocr/layout/layout_detector.py,结果格式化见 glmocr/postprocess/result_formatter.py。

下图是第②步的效果——版面上每个区域都被框出并标注类型:

最快上手:四步完成配置

第 1 步:安装 SDK

按场景选择最轻量的安装方式:

# 云端 API 模式(无需 GPU,安装最快) pip install glmocr # 本地自部署完整流水线(含版面分析) pip install "glmocr[selfhosted]"

第 2 步:安装 Poppler(PDF 转图片依赖)

PDF 输入依赖 Poppler 工具集(pdftoppm等)。参考 examples/example.py 中的检测逻辑,macOS 可执行brew install poppler,Linux 可用apt install poppler-utils

第 3 步:准备 OCR 模型服务

三种方式任选其一,配置文件为 glmocr/config.yaml:

  • MaaS 云端 API(推荐新手):在config.yaml中启用pipeline.maas并填入 API Key,SDK 只负责转发请求,直接返回 Markdown + JSON 版面详情,本地无需 GPU
  • vLLM / SGLang 自部署:本地起模型服务,SDK 跑完整流水线,数据完全可控
  • SDK Server + Client:GPU 机器上跑服务,其他机器免 GPU 远程调用

第 4 步:一行命令解析

# 解析整份 PDF,结果输出到指定目录 glmocr parse 文档.pdf --output ./results/ # 也可以直接解析目录里所有图片 glmocr parse examples/source/

Python 调用同样简洁:from glmocr import parseresult = parse("文档.pdf")后调用result.save()即可(见 glmocr/api.py)。

读懂结果:.md、.json 和版面可视化

解析完成后,输出目录会生成三类产物:

results/ └── 文档名/ ├── 文档名.md # 结构化 Markdown(正文 + 表格 + LaTeX 公式) ├── 文档名.json # 逐元素的结构化数据 └── layout_vis/ # 版面检测可视化图片

其中.json是"结构化"的关键。每个元素都有indexlabel(文本/公式/表格)、contentbbox_2d(像素坐标),例如论文页的输出节选自 examples/result/paper/paper.json:

{ "index": 2, "label": "formula", "content": "$$\\sum_{i=1}^{n} x_i \\frac{\\partial R}{\\partial x_i} = d R.$$ ", "bbox_2d": [234, 200, 341, 234] }

对应的 Markdown 版本见 examples/result/paper/paper.md——公式已转为可渲染的 LaTeX。坐标信息则让你可以反向定位原文位置,比如做"原文 ↔ 识别结果"高亮联动。

实战:一份 41 页 PDF 的解析效果

仓库自带了一份 41 页的真实 PDF 测试文档(examples/source/GLM-4.5V.pdf),解析结果完整保存在 examples/result/GLM-4.5V/,包括 41 页的 Markdown、JSON 和逐页版面可视化。下图是其中一页的检测结果,段落、公式、图表区域都被准确划分:

多元素混合页面同样不在话下,比如财务报表中的大表格:

表格会被输出为带<thead>/<tbody>的 HTML 表格,数据一个不少(见 examples/result/table/table.json)。

覆盖更多真实场景

GLM-OCR 针对真实业务痛点做了优化,仓库examples/result/下有对应的效果展示:

  • ✍️手写文档:见 examples/result/handwritten/handwritten.md

  • 🔒印章识别:见 examples/result/seal/seal.md
  • 📊代码截图:见 examples/result/code/code.md
  • 🧪化学式微调:还附了基于 LLaMA-Factory 的微调示例,见 examples/finetune/README_zh.md

进阶:开箱即用的 Web 应用 🚀

不想敲命令行?仓库内置了一套完整的 Web 文档处理应用:FastAPI 异步后端 + React 前端,支持上传 PDF → 实时进度跟踪 → 页面级高亮联动 → Markdown 预览/导出,还带任务队列、自动重试与多 Worker 并发(架构说明见 apps/backend/README.md)。

# 用 Docker 一键启动前后端 bash apps/start-docker.sh # 或本地开发模式 bash apps/start-local.sh # 前端 http://localhost:5173,后端 API 文档 http://localhost:8000/docs

其中 PDF 转图片步骤的实现在 apps/backend/app/core/steps/pdf_to_image.py,结果合并步骤在 apps/backend/app/core/steps/merge_results.py,想定制流程可以从这里入手。

此外,GLM-OCR 还支持 Agent Skill 模式:pip install glmocr+ 配置 API Key,即可让 AI 助手直接把"提取这张图片/这份 PDF 的文字"这类任务委托给 GLM-OCR,详见 skills/glmocr/SKILL.md。

小结

你的需求推荐路径
快速体验、无 GPUMaaS 云端 API +pip install glmocr
数据不出内网vLLM/SGLang 自部署 +glmocr[selfhosted]
团队批量处理Web 应用(apps/)或 Flask 服务(python -m glmocr.server
接入 AI AgentSkill 模式(skills/glmocr/)

一句话总结:装好 SDK、配好模型服务、执行glmocr parse 你的文档.pdf,几分钟后你就拿到一份干净的结构化 Markdown 和可定位每个元素的 JSON——这就是 GLM-OCR 把"图片 PDF 变结构化文档"的全部成本。

【免费下载链接】GLM-OCRGLM-OCR: Accurate × Fast × Comprehensive项目地址: https://gitcode.com/GitHub_Trending/gl/GLM-OCR

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询