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

R语言将扫描版PDF转换为可搜索PDF的实现方法咨询

实现生成可搜索PDF的第三步

你无需手动解析ocr_data返回的坐标结果自行拼接文本层,tesseract包已内置直接输出可搜索PDF的封装函数ocr_pdf(),直接调用即可完成需求,示例代码如下:

library(tesseract)

# 下载示例扫描PDF
download.file("https://www.fujitsu.com/global/Images/sv600_c_automatic.pdf", "example.pdf", mode = "wb")

# 直接输出可搜索PDF,最终生成文件为 example_ocr.pdf
ocr_pdf(
  input = "example.pdf",
  output = "example_ocr",
  engine = tesseract(language = "eng")
)

如果你的场景确实需要基于现有results中的bbox坐标手动生成文本层,可以将bbox按逗号拆分为左、上、右、下四个像素坐标,配合magick、grid、pdftools包逐页将文字绘制到对应位置后导出PDF,普通场景下不推荐这种重复造轮子的操作。

Windows环境下其他可选相关工具
  • R包类
    • magick:可用于扫描PDF的预处理,支持旋转、降噪、裁剪、调整对比度等操作,处理后再喂给OCR工具可大幅提升识别准确率
    • ocrmypdf:是Python OCR工具ocrmypdf的R封装,需提前安装对应Python依赖,支持自动纠偏、去黑边、优化PDF体积,输出的可搜索PDF质量比tesseract原生输出更高
  • 命令行工具类
    • Tesseract CLI:安装Windows版的tesseract命令行工具后,可在R中通过system()函数调用批量处理,适合大体积批量文件的处理场景,运行效率高于纯R接口
    • Ghostscript:可用于OCR输出后PDF的压缩、拆分、合并操作,同样可通过R的system()调用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:42:00