【发布时间】:2015-08-18 19:10:42
【问题描述】:
假设我的用户去了他们办公室的扫描仪。扫描仪能够生成扫描文档的 PDF。这基本上就是我拥有的文件类型。
我想做的是从这个 PDF 中提取文本。这不是“第一代”pdf,因为文本没有嵌入到 pdf 中。文本嵌入在 PDF 中的图像中。
PDFBox 的 iText 中是否有允许检索此数据的功能?如果可能,我会尽量避免对图像进行 OCR。我希望 IText 或 PDFBox 中内置了一些东西可以做到这一点。
请注意,我不是在谈论从 pdf 中提取“普通”文本,如下所述:How to get raw text from pdf file using java
【问题讨论】:
-
如果您完全删除了对 pdf 的提及,您的问题可能会更清楚。如果我没看错的话,基本上你是想从图像中读取文本。
-
您想在不进行 OCR 的情况下进行 OCR。 PDFBox 和 iText 只能提取存储为矢量数据的文本。您想要获取由光栅图像中的像素组成的文本。那是OCR。 PDFBox 和 iText 都不支持 OCR。
-
@cadams 是的,但在 PDF 上。我不想将其转换为图像。它必须在 PDF 本身上完成。
-
@BrunoLowagie 我想我的意思是我不想使用执行 OCR 的第三方库。我希望 PDFBox 或 iText 可以做到这一点。我实际上相当确定他们可以。我只需要弄清楚如何将该功能插入其中。
-
对。据我所知,您想要做的事情是不可能的。但是,您可以为 tesseract 使用 java 包装器,例如 tesjeract 或 Tess4J,但您必须将 pdf 转换为 png 或 tiff 图像格式,这似乎是您试图避免的。