我有一个Tesseract 4.0设置,我们正在使用一个LSTM模型的OCR;传入的扫描PDF被解构成单独的300dpi上采样的PNG,然后去偏斜和OCR‘,然后重新组装成一个PDF与文本层,同时也保存每个页面PNG进一步显示在web浏览器中。
有时,我们收到的PDF已经被专业地转录了文本层,在这些层上运行Tesseract会导致准确性的损失。
对于机器学习应用程序,我们还需要稍后根据特定标签对PNG页面的某些部分进行分类。
所以问题是:
1)有没有办法确定PDF是否已有文本层并确定该文本的准确性?
2)是否可以将已经包含文本层的hOCR分解为单独的每页PDF文件,以便可以使用边界框突出显示这些页面的特定区域,并使用从相应hOCR文件中检索到的该区域的文本?
3)当使用Tesseract将OCR文本保存为hOCR格式时,这是否提供了足够的信息,以便能够从hOCR文件中检索与创建hOCR文件的PNG上的确切区域相对应的任意文本块?
提前感谢
发布于 2018-02-14 15:19:16
有不同的工具可以将带有文本层的PDF转换为简单的文本或一些超文本标记语言;只需搜索pdf2text或pdf2html即可。因此,您可以通过使用这样的工具并检查文本内容是否是非空的,来确定PDF是否有文本层(问题1.a)。此外,我建议对文本进行一些健全的检查(例如,合理的单词长度,字典中的一些单词),以避免只有乱码文本(问题1.b的一部分)。
我不知道有任何pdf2hocr工具(问题2)。想出这样的东西当然是可能的。但是,使用前面提到的某个pdf2html工具的输出可能更容易。在ocr文件格式存储库中有一个相关的问题:https://github.com/UB-Mannheim/ocr-fileformat/issues/57
Tesseract的hocr输出将为您提供每行和每个单词的边界框的坐标。因此,您可以计算给定区域的哪些行或单词与其相交,并输出其文本内容(问题3)。但是,您没有字符的位置。
https://stackoverflow.com/questions/48778859
复制相似问题