创建"文字"在OCRed PDF中

时间:2014-12-18 01:17:36

标签: pdf text ocr

我想以编程方式创建我已经过OCR的图像的PDF。我可以让它可选择/可搜索。

我知道每封信的内容和位置。我的想法是在每个位置创建一个看不见的文字。

但我可以以某种方式“连接”字母,以便可以选择它们,例如O形V-E-R-F-L-流?

我虽然试图猜测字母的水平尺寸,然后写出整行,但字体的宽度变化很大(例如等宽或不等),所以它可能不匹配。

之前我看过可选择/可搜索的OCR PDF文件,但我不知道如何实现,或者使用了什么PDF“功能”。这是怎么做到的?

2 个答案:

答案 0 :(得分:1)

要了解PDF中的OCR文本是如何工作的,请在SuperUser.com上查看此答案:

使用您周围的OCR PDF文件,使用本答案中演示的命令行工具,命令和说明是值得的。您将学习解决问题所需的一切,以编写“隐形”文本。


将文本对象放入PDF时,可以使用不同的模式来呈现此文本。我从官方的PDF-1.7规范中复制了下表:

Table describing text rendering modes in PDF files

现在,猜猜,PDF中的OCR文本使用了什么?

确切地说,你是对的:它使用模式3:既不填充也不冲程文本(不可见)

用于设置文本呈现的PDF页面绘制操作符为Tr,切换到模式3的代码只是3 Tr。它必须在您编写的任何文本之前(请记住,PDF类似于PostScript并使用反向表示法:第一个值,然后是运算符)。

TL; DR: 每当在模式3的PDF页面上呈现文本时,此文本都可在任何查看器中进行搜索,选择和复制,但是看不见的!

答案 1 :(得分:0)

如果您只是将字符按顺序写入PDF,那么大多数PDF阅读器,当有人进行文本选择/搜索时,会根据间距计算出去处的文字。

另一方面,您尝试过最新的tesseract-ocr吗?他们现在有完整的PDF输出。不确定文本选择的输出是否符合您的标准,但您可能希望至少尝试一下。