0

0

如何将扫描版PDF通过OCR转为XML

幻夢星雲

幻夢星雲

发布时间:2026-02-11 10:19:22

|

302人浏览过

|

来源于php中文网

原创

PAGE-XML是OCR后结构化XML的最优选,因其兼容性最好、工具链最全,支持多栏表格图文混排及印刷级定位;ALTO适用于欧洲数字图书馆,TEI适合语义标注但OCR直出弱。

如何将扫描版pdf通过ocr转为xml

OCR识别后XML结构怎么选:tei、alto还是page

扫描PDF本身不含文字层,必须先用OCR提取文本和版面信息,再映射为结构化XML。主流选择有三种:TEI(人文文献通用)、ALTO(图书馆元数据强,含精确坐标)、PAGE-XML(DARPA/ICDAR推荐,支持多栏、表格、图文混排)。如果你要保留行高、字间距、基线位置等印刷级定位信息,PAGE-XML 是目前兼容性最好、工具链最全的格式;ALTO 在欧洲数字图书馆项目中更常见;TEI 适合后期做语义标注,但OCR直出支持弱。

用Tesseract + pagexml输出PAGE-XML的实操要点

Tesseract 4.1+ 原生支持 --psm 模式识别和 --oem 引擎切换,但默认不生成 PAGE-XML。需配合 tesseracthocr 中间格式再转换,或直接用封装工具:

  • 推荐用 ocrmypdf(Python库),它底层调用 Tesseract 并自动输出符合规范的 PAGE-XML
    ocrmypdf --output-type pdfa --sidecar output.page.xml input.pdf output.pdf
  • 若只要XML不重制PDF,加 --skip-text 参数跳过文字层嵌入,避免PDF体积暴增
  • hocrPAGE-XML 容易丢表格线框和图文关系,别用 hocr2pdf 类工具直转
  • 中文识别务必指定语言包:tesseract input.png stdout -l chi_sim+eng --psm 6--psm 6 对单栏印刷体最稳,--psm 1(自动检测)在复杂版面下常错分段落

扫描质量差时XML坐标错位的常见原因

PAGE-XML 里每个 TextLineWord 都带 coords 属性,但坐标偏移往往不是OCR引擎问题,而是输入图像预处理不到位:

TapNow
TapNow

新一代AI视觉创作引擎

下载
  • 扫描图未去黑边/摩尔纹 → OCR定位框整体偏移,建议用 unpaper 预处理:
    unpaper --no-border --no-blank --no-grayfilter input.pdf output.pdf
  • DPI低于300 → 字符粘连,Tesseract 把两个字识别成一个,Word 坐标覆盖过宽;必须重扫或用 ImageMagick 放大并锐化:
    magick input.png -resample 300 -sharpen 0x1 output.png
  • 倾斜超过±0.5° → 行坐标变成斜向矩形,PAGE-XML 解析器可能报 Invalid coordinates: y0 > y1;用 pdf2image 提取图像后先跑 skew_correction 再送OCR

XML验证与后续处理避坑提示

生成的 .page.xml 文件未必符合官方XSD(如 http://www.primaresearch.org/schema/PAGE/gts/pagecontent/2019-07-15/pagecontent.xsd),尤其当使用非标准OCR后端时:

  • xmlschema Python库校验:
    python -m xmlschema validate --schema http://www.primaresearch.org/schema/PAGE/gts/pagecontent/2019-07-15/pagecontent.xsd output.page.xml
  • 某些工具(如 calamari)要求 Page 元素必须含 imageFilename 属性,而 ocrmypdf 默认不写——需手动补或用 sed 注入
  • 如果目标是喂给NLP pipeline,别直接解析XML里的 TextEquiv;有些OCR会把“1”(全角数字)误标为“1”,但坐标仍按原字符宽度算,导致下游对齐失败

真正麻烦的不是生成XML,而是让坐标、文字、样式三者严格对齐。哪怕只差1像素,下游做区域抽取或重建PDF时就可能漏字或叠字。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1924

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2100

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

1117

2024.11.28

点击input框没有光标怎么办
点击input框没有光标怎么办

点击input框没有光标的解决办法:1、确认输入框焦点;2、清除浏览器缓存;3、更新浏览器;4、使用JavaScript;5、检查硬件设备;6、检查输入框属性;7、调试JavaScript代码;8、检查页面其他元素;9、考虑浏览器兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

192

2023.11.24

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

176

2026.01.27

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

453

2023.11.09

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

432

2023.11.14

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

2897

2024.03.12

Rust异步编程与Tokio运行时实战
Rust异步编程与Tokio运行时实战

本专题聚焦 Rust 语言的异步编程模型,深入讲解 async/await 机制与 Tokio 运行时的核心原理。内容包括异步任务调度、Future 执行模型、并发安全、网络 IO 编程以及高并发场景下的性能优化。通过实战示例,帮助开发者使用 Rust 构建高性能、低延迟的后端服务与网络应用。

1

2026.02.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号