Pdf 为什么从扫描的文档中可以提取文本,但不能提取图像

Pdf 为什么从扫描的文档中可以提取文本,但不能提取图像,pdf,pdfbox,xpdf,Pdf,Pdfbox,Xpdf,我以前也问过类似的问题。我想问另一个相关的问题,所以我重新措辞了原来的问题 我使用的是PDFBox从pdf中提取图像和文本,可在和中找到。我有以下用于提取文本的代码: PDFTextStripper p = new PDFTextStripper(); String thistext=p.getText(document); 正确地提取了文本。但是,当我尝试使用ExtractImages类从同一个pdf中提取图像时,生成的图像是pdf的所有页面,而不是实际的图像(应该是1) 在我看来,pd

我以前也问过类似的问题。我想问另一个相关的问题,所以我重新措辞了原来的问题

我使用的是
PDFBox
从pdf中提取图像和文本,可在和中找到。我有以下用于提取文本的代码:

 PDFTextStripper p = new PDFTextStripper();
 String thistext=p.getText(document);
正确地提取了文本。但是,当我尝试使用
ExtractImages
类从同一个pdf中提取图像时,生成的图像是pdf的所有页面,而不是实际的图像(应该是1)

在我看来,pdf可能是一个扫描文件。答案是
扫描的事实是你的问题
。我再次尝试使用
pdftotext
pdfimages
。文本被提取,但
pdfimages
输出5个图像文件,它们都是pdf的页面(与
PDFBox
相同)

据我所知,光栅图像作为XObject存储在pdf中。当我用文本编辑器打开pdf时,我看到以下行的5个外观:

<< /Type /XObject /Subtype /Image /Name /X /Width 2600 /Height 3799

查看您的PDF文件后,您的问题评论中的第一个猜测已得到确认

您的示例文档经过扫描,基本上每页由一个位图图像组成。当您放大文档时,您可以很快看到所有内容看起来都相当像像素

所有图像的分辨率均为2600x3799,为黑白图像

此外,这些图像已进行OCR,生成的文本已无形地添加到页面中,允许选择、复制和粘贴

例如,查看第885页顶部:

其内容流如下所示:

1 0 0 1 -0.5998 -0.4801 cm
1 1 1 rg
1 i 
/RelativeColorimetric ri
/GS0 gs
0 0 469.2 684.7 re
f
q
467.9972 0 0 683.8015 0.6014 0.4492 cm
/Im0 Do
Q
此处插入页面图像/Im0

1 0 0 1 0.5998 0.4801 cm
0 0 0 rg
BT
/TT0 1 Tf
3 Tr 9.8 0 0 10.4 35.8002 640.4199 Tm
在此准备添加文本;特别是看看
3 Tr
:此阴影将文本呈现模式设置为
3
,该模式既不是填充文本,也不是笔划文本(不可见)。(第9.3.6节中的文本呈现模式)

在这里您可以看到添加的文本,以“A”和“%gust”开头。这实际上表明,OCR的结果似乎没有得到适当的检查,因为这应该是“八月”。低质量的文本信息继续:

A %gust , 1978 SHORT PAPERS 885
where
and also
Similarly for B. Also,
T, = AY-l T
as a result of the adiabatic cooling of the vapour.
Stage 2:
Here a volume of vapour and a volume of liquid I are removed and replaced with an
equal volume of air containing concentrations Y and s of A and B, respectively. Of course,
r or s may either or both be negligibly small, with subsequent simplification.

正如您所看到的,许多特殊字符和公式尚未被正确识别。

不幸的是,您的PDF参考文件确实需要某种登录。@mki,谢谢您查看。我在skydrive中发布了pdf,并向所有人开放。您还有其他推荐的文件托管服务吗?我可以用。嗯,我刚从手机上测试过,我可以下载。我只是忽略了下载,而没有登录到我的常规浏览器?好吧,我明天会调查的。好的,我添加了一个scribd链接。请查看是否可以下载。技术文档将是定义PDF的ISO标准,即ISO 32000-1:2008,“不久”将更新为ISO 32000-2。。。当你阅读它时,你会发现没有什么能阻止你先画文本,然后在上面放一个图像,甚至先在上面放一个图像,然后再在上面画一个看不见的文本。谢谢你的详细回答。我有点怀疑,但我不知道
3tr
命令。我现在可以引用这一点。
A %gust , 1978 SHORT PAPERS 885
where
and also
Similarly for B. Also,
T, = AY-l T
as a result of the adiabatic cooling of the vapour.
Stage 2:
Here a volume of vapour and a volume of liquid I are removed and replaced with an
equal volume of air containing concentrations Y and s of A and B, respectively. Of course,
r or s may either or both be negligibly small, with subsequent simplification.