Parsr
将 PDF、图片等文档自动转换为结构化 JSON/Markdown 数据的开源解析引擎
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
将 PDF、图片等文档自动转换为结构化 JSON/Markdown 数据的开源解析引擎
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:某保险公司每天要处理上千份理赔文档——医疗报告、发票、身份证照片。这些材料格式各异,有的手写、有的打印、有的模糊不清。传统方式是安排专人逐页录入,一个熟练员工每小时最多处理十几份。Parsr 的出现,改变了这个局面。

图1:Parsr 项目 Logo
Parsr 诞生于法国保险巨头 AXA Group 的内部需求。保险行业是典型的"文档密集型"行业——核保、理赔、风控每个环节都依赖大量纸质或 PDF 文档。AXA 的技术团队意识到,如果能将这些文档自动结构化,就能让后端的机器学习模型直接处理,大幅提升效率。
2019 年 8 月,AXA 将这套内部工具开源,迅速在 GitHub 获得关注。截至目前已收获 6,173 颗星、325 个 Fork,并在持续维护中。项目最初采用 JavaScript/TypeScript 开发核心引擎,搭配 Python API 层,如今已支持 Docker 容器化部署,成为文档处理领域的标杆项目。
如果说 OCR(光学字符识别)是把图片变成文字的"翻译员",那么 Parsr 就是给这份翻译稿做笔记、整理归纳的秘书——它不仅识别文字,还理解页面布局、表格结构、段落语义,把松散的文档变成机器可直接消费的结构化数据。
Parsr 的文档处理流水线分为四个阶段,每个阶段对应一个处理模块:
1. 预处理(Cleaner) 在 OCR 识别之前,原始 PDF 或图片往往存在噪点、倾斜、背景干扰等问题。Cleaner 模块负责图像增强:去噪、二值化、倾斜校正、边框检测。处理一张扫描件的工作,在这一步完成初步"美化"。
2. 文字提取(Text Extraction) 这是 OCR 的核心环节。Parsr 默认集成 Tesseract OCR(开源方案),同时也支持接入商业级的 ABBYY FineReader 和 Google Cloud Vision API,形成多引擎协作。对于不同质量的文档(高清打印 vs. 低分辨率拍照),可以选择最合适的识别引擎。
3. 表格与布局分析(Table Detection) 传统 OCR 工具会把表格当作普通文本处理,丢失所有结构信息。Parsr 专门训练了表格检测模型,能够识别表头、表行、单元格合并等复杂结构,并将表格输出为 JSON 或 CSV 格式。这对财务报告、统计报表类文档尤为关键。
4. 输出与可视化(Output) 解析结果可以保存为 JSON(便于程序处理)、Markdown(便于阅读)、CSV(便于数据分析),或者通过内置的 Vue.js Web 可视化界面 实时查看和标注。Web 界面基于 Vuetify 组件库,支持多人协作标注。
Parsr 采用流水线(Pipeline)架构,这是文档处理领域的经典设计模式。每个处理步骤作为独立模块串联执行,用户可以在配置文件中自由增删步骤、调整参数。这种松耦合的设计让系统易于扩展——例如,可以插入自定义的 NLP 模块做特定行业的语义标注。
技术栈一览:
| 层级 | 技术选型 |
|---|---|
| 核心引擎 | TypeScript / Node.js |
| Python API 层 | Express.js REST API |
| Web 可视化 | Vue 2 + Vuetify 2 |
| OCR 引擎 | Tesseract(默认)、ABBYY、Google Vision |
| PDF 处理 | MuPDF(开源)、Poppler |
| 图片处理 | ImageMagick |
| 容器化 | Docker + Docker Compose |
Python API 层通过 node-ffi(Foreign Function Interface)调用 Node.js 编译后的核心模块,实现跨语言桥接。这套架构的优势在于:前端(Python)负责与业务系统对接,核心处理逻辑(TypeScript)在高性能的 Node.js 环境中执行。
对于大多数用户而言,最友好的部署方式是 Docker Compose 一键启动:
git clone https://github.com/axa-group/Parsr.git
cd Parsr
docker-compose up
一条命令,Parsr 解析引擎(端口 3001)和 Vue.js 可视化界面(端口 8080)同时启动。上传一个 PDF,等待几秒,即可看到结构化输出。
项目提供了两个 docker-compose 文件:
docker-compose.yml:直接拉取预构建镜像(axarev/parsr、axarev/parsr-ui-localhost),适合快速试用docker-compose-build.yml:从源码构建,适合需要定制化配置的场景底层 Docker 镜像采用多阶段构建:
parsr-base:安装 Tesseract、MuPDF、ImageMagick、Python 等所有系统依赖parsr:复制源码并运行 build.sh 构建 TypeScript 项目parsr-ui:基于 Nginx 打包 Vue.js 前端硬件需求:Parsr 不需要 GPU,CPU 即可运行 OCR 任务。推荐 4GB 以上内存、2GB 以上磁盘空间。由于 Tesseract 和 MuPDF 是 CPU 密集型任务,处理大批量文档时建议多核 CPU 机器。
1. 对中文文档的支持 Parsr 默认的 Tesseract OCR 对英文支持较好,但中文识别需要额外配置语言包(Tesseract 4 支持 100+ 语言)。在中文复杂排版(竖排、混排、书法字体)场景下,识别准确率仍有提升空间。
2. 手写体识别能力有限 当前版本对手写体文档的识别能力较弱,这是业界普遍挑战。如需处理大量手写表单(如老旧病历、亲笔签名),建议配合专用的手写识别模型(如 Google 的 Handwriting OCR)使用。
3. 大文件处理性能 超过 100 页的 PDF 文档,解析时间会显著增加,且默认配置下内存占用较高。生产环境建议做好资源隔离和超时控制。
Parsr 的核心价值在于降低了文档处理自动化的门槛。在 RAG(检索增强生成)技术火热的当下,高质量的文档结构化提取是构建知识库的第一步;在保险、金融、法律等行业,Parsr 可以作为数据录入自动化的前端,配合后端的 NLP 模型实现智能核保、智能理赔。
项目当前活跃度中等(最近更新于 2026 年 5 月),72 个 open issues 表明社区仍在维护。AXA 将其开源的战略眼光值得肯定——通过开源社区的力量持续打磨工具质量,同时为整个行业输出标准化的文档处理方案。
总结:Parsr 是一款开箱即用、架构清晰、社区活跃的文档解析工具。它将 OCR、文字布局分析、表格提取、Web 可视化整合为一条完整流水线,适合需要快速将 PDF/图片文档结构化的开发者或企业团队。部署门槛低,Docker 一键启动,是文档智能领域的实用基建。