You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

xdmp:pdf-convert能否实现OCR?扫描PDF文本提取测试失败求助

MarkLogic xdmp:pdf-convert OCR功能实测问题解析

xdmp:pdf-convert的OCR能力并非开箱即用,很多人都会遇到你这种扫描PDF无法提取文本的情况,核心原因通常是缺少底层OCR引擎支持。

关于ignore-text参数的误区

文档里提到ignore-text设为true时可提取扫描页面的文本,但这个功能依赖MarkLogic部署时集成的OCR组件(比如Tesseract)。默认安装的MarkLogic大多没预装这类组件,所以即使参数配置正确,也没法识别图像里的文本。

你的测试情况对应问题

你用截图生成的PDF,xdmp:pdf-convert只能提取图像文件、生成带图片引用的XHTML,完全符合“无OCR引擎支持”的表现——函数仅完成了PDF到图像的拆分,没有能力识别图像中的文字。

可行的解决方向

  • 配置MarkLogic的OCR组件:根据你使用的MarkLogic版本,安装并启用配套的Tesseract OCR引擎,完成后重新测试xdmp:pdf-convert(注意部分版本需要额外配置权限或参数)。
  • 预处理扫描PDF:先用独立OCR工具(比如Tesseract、Adobe Acrobat、AWS Textract)把扫描PDF转成带可搜索文本的PDF,再用xdmp:pdf-convert处理,这种方式稳定性更高,适合批量处理场景。
  • 集成外部OCR服务:通过MarkLogic的自定义扩展功能,调用外部OCR服务完成文本识别,再将结果导入系统进行后续解析。

你提供的示例XHTML代码

<body class="font-0">    
    <span class="pageStart" id="pgs0001">    
    </span>    
    <p        style="text-align: left; line-height: 15.6pt; text-indent: 0pt; margin-left: 0pt; margin-right: 0pt; padding-left: 58.91pt; padding-top: 0; padding-bottom: 0; padding-right: 0; z-index: 100;">        <span class="textStyle0">            <a name="t0" id="t0">            </a>            This is text I typed into the PDF        </span>    </p>    
    <div        style="width: 768.00pt; height: 336.00pt; clip: rect(0pt, 768.00pt, 336.00pt, 0pt); margin-left: 49.09pt; margin-top: 0; margin-bottom: 0; margin-right: 0; padding: 0 0 0 0; z-index: 00;">        <img src="testOcrPdf_pdf_parts/0001_00.jpg" width="768.00pt" height="336.00pt" border="0"            alt="testOcrPdf_pdf_parts/0001_00.jpg(1587x695)">        </img>    </div>    
    <span class="pageEnd" id="pge0001">    
    </span>
</body>

内容的提问来源于stack exchange,提问作者nobleb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 18:22:43