我正在尝试从PDF中提取文本。PDF包含印地语(Unicode)文本。我使用的提取实用程序是Apache PDFBox ( http://pdfbox.apache.org/)。提取器提取文本,但文本无法识别。我尝试了在多种编码和字体之间切换,但仍然无法识别预期的文本。下面是一个例子:假设PDF中的文本是:पवार
解压后的内容是:̄?3⁄4??̧ü
有什么建议吗?
发布于 2011-09-20 19:37:36
PDF本质上是一种打印格式,因此将文本记录为一系列可视字形,而不是实际文本。最初,它从来没有打算作为一种数字档案格式,这仍然显示在许多文件中。对于复杂的脚本,比如需要字形替换、连接和重新排序的阿拉伯语或印度语脚本,基本上你经常会弄得一团糟。在这里,您通常得到的是嵌入式字体中使用的字形in,这些字体与Unicode或实际的文本编码没有任何相似之处(字体表示字形,其中一些可能映射到Unicode代码点,但有些只是字体内部使用所需的,例如基于上下文或连字的字形变体)。您可以在LaTeX生成的PDF中看到同样的情况,特别是使用非ASCII码字符和数学。
PDF还具有将文本作为文本嵌入到可视化表示旁边的功能,但这完全取决于生成应用程序的判断。我听说Word在生成PDF时非常努力地保留这些信息,但许多PDF生成器不这样做(它通常在某种程度上适用于拉丁语,这可能是几乎没有人费心的原因)。
我认为,如果PDF没有可用的纯文本,最好的选择是在PDF上以图像的形式进行OCR。
https://stackoverflow.com/questions/7484407
复制相似问题