是否有人试图使用OCR库和Java从PDF中提取文本?你发现什么是最可靠的文本提取库。我见过的大多数方法(tesseract,GOCR)都是需要编写一些JNI代码的C库。
我熟悉pdfbox,它现在是0.8.x版本的Apache孵化器项目,但它的文本提取并不总是准确的。我正在寻找一种更可靠的替代方法。
我还没有尝试过Asprise JavaPDF,在尝试这个过程中,但想了解更多有关OCR方法的信息(如果可能的话)。
任何帮助将不胜感激。
答案 0 :(得分:7)
如果你有基于文本的PDF,我强烈推荐PDFTextStream。这不是免费的,但许可是合理的,而且比PDFBox要好得多。 PDFBox在许多PDF文件上窒息,这些PDF文件是由较新的工具生成的,并且对于它可以处理的PDF不太一致。 PDFTextStream处理我抛出的任何PDF,包括带有嵌入式PNG图像的PDF,PDFBox无法做到。
如果你诅咒PDFTextStream人员添加OCR,他们可能会听。
答案 1 :(得分:2)
我们使用ABBYY FineReader Engine 11.他们有java包装器。
优点:
<强>缺点:强>
费用。您必须购买开发者许可证和最终用户许可证。
而且速度非常慢。
答案 2 :(得分:1)
如果要从基于文本的PDF中提取OCR,可能必须先将其转换为图像。
答案 3 :(得分:1)
您可以使用Tesseract的Java包装器 - tesjeract或Tess4J - 来执行OCR。但是,对于PDF,在将其提供给OCR引擎之前,您需要先转换为图像(PNG或TIFF)。
VietOCR调用Tesseract可执行文件来执行文本提取。它使用GhostScript进行PDF到图像转换。