我之前在stackoverflow中问过类似的问题。我想问另一个相关的问题,所以我再次改写原来的问题。
我PDFBox
用来从 pdf 中提取图像和文本,可在skydrive和scribd中找到。我有以下用于提取文本的代码:
PDFTextStripper p = new PDFTextStripper();
String thistext=p.getText(document);
哪个正确提取了文本。但是,当我尝试使用ExtractImages
类从同一个 pdf 中提取图像时,生成的图像都是 pdf 的所有页面,而不是实际的图像(应该是 1)。
在我看来,pdf 可能是扫描文档。答案说the fact that it is scanned is your issue
。我再次尝试使用pdftotext
and pdfimages
。文本被提取,但pdfimages
输出5个图像文件,都是pdf的页面(同PDFBox
)。
据我所知,光栅图像在 pdf 中存储为 Xobjects。当我用文本编辑器打开 pdf 文件时,我看到了以下 5 行:
<< /Type /XObject /Subtype /Image /Name /X /Width 2600 /Height 3799
这可能就是为什么将 pdfPDFBox
的XPDF
5 页作为图像文件输出的原因。那么如何从pdf中提取文本?是否有技术文档提到为什么(或如何)可以从这样的文档中提取文本,其中页面“据说”嵌入为 XObjects。我可以在我的报告中引用文档。