如何将外部OCR嵌入现有的PDF文件?

8
我有一组图像,我在上面运行OCR应用程序。这个过程会生成一个带有字符偏移量的XML文件。然后我使用Acrobat 9将图像转换为PDF。现在,我想将XML文件信息作为不可见文本层添加到PDF中,以实现可搜索的PDF。有没有简单而免费的方法?
一些细节:
- 我不想使用Acrobat的OCR功能; - OCR过程会生成一个XML文件,其中包含如下元素: ``` ```
更新:也许可以通过不同的方式来实现我的目标。假设已经从一组图像生成了PDF文件,并且已经包含了OCR文本。是否可能(也许是通过编程)仅访问每个页面的图像,处理它(例如将其转换为单色),并将其保存回PDF文件?如果是,则OCR文本不会丢失。
[我应该将此更新放入单独的问题中吗?]

你可能会发现hocr2pdf很有用。 - Tobias Kienzler
2个回答

1
关于您的后续问题,如何在不丢失隐藏层的情况下处理PDF文件:我相信Ghostscript可以做到这一点。例如,以下命令应将PDF转换为灰度:
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dColorConversionStrategy=/Gray -dProcessColorModel=/DeviceGray -sOutputFile=output.pdf input.pdf

不错,它起作用了。但输出结果并不像我想要的那么干净。如果ImageMagick可以在不丢失文本层的情况下转换PDF,我想使用类似以下的方式处理每一页: convert \( -white-threshold 50% \) -monochrome ... 也许有一种方法告诉IM如何使用GS,就像DaveParillo所说的那样。我稍后会检查这个问题。 - kepler

-1

如果您只想将现有的PDF转换为灰度,请尝试Imagemagick

convert foo.pdf -colorspace Gray -compress zip gray.pdf

我认为这不会改变您的pdf中的任何其他属性。


这似乎无法保留PDF中的隐藏文本层。(尝试过ImageMagick 6.4.5。) - Jukka Matilainen
我也尝试过,并且失去了文本层。我也使用了ImageMagick 6.4.5。 - kepler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接