【问题标题】:why from scanned documents, text can be extracted, but not image为什么从扫描的文档中可以提取文本,但不能提取图像
【发布时间】:2013-02-16 03:11:31
【问题描述】:

我之前在stackoverflow 中问过类似的问题。我想问另一个相关的问题,所以我再次改写原来的问题。

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

 PDFTextStripper p = new PDFTextStripper();
 String thistext=p.getText(document);

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

在我看来,pdf 可以是扫描文档。答案是the fact that it is scanned is your issue。我再次尝试使用pdftotextpdfimages。文本被提取出来,但是pdfimages输出了5个图像文件,都是pdf的页面(同PDFBox)。

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

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

这可能是PDFBoxXPDF 将 5 页 pdf 输出为图像文件的原因。那么如何从pdf中提取文本?是否有技术文档提到为什么(或如何)可以从这样的文档中提取文本,其中页面“据说”嵌入为 XObjects。我可以在我的报告中引用文档。

【问题讨论】:

  • 很遗憾,您的 PDF 参考确实需要某种登录方式。
  • @mki ,感谢您的调查。我在 Skydrive 上发布了 pdf,并向所有人开放。您还有其他推荐的文件托管服务吗?我可以使用它。
  • 嗯,我刚用手机测试过,可以下载了。我是否只是在没有在常规浏览器中登录的情况下忽略了下载?好吧,我明天会调查的。
  • 好的,我添加了一个 scribd 链接。看看能不能下载。
  • 技术文档将是定义 PDF 的 ISO 标准,即 ISO 32000-1:2008,“很快”将更新为 ISO 32000-2...当您阅读它时,您会看到没有什么能阻止您先绘制文本,然后在其上方放置图像,甚至首先将图像放在那里,然后在其上方绘制不可见的文本。

标签: pdf pdfbox xpdf


【解决方案1】:

检查了您的 PDF 文件后,您的问题在 cmets 中的第一个猜测已得到确认...

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

所有图像的分辨率均为 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 节 文本呈现模式 在ISO 32000-1:2008)

(A )Tj
/TT1 1 Tf
-0.01 Tc 8.8 0 0 9.5 43.4002 640.4199 Tm
(%gust )Tj

在这里您会看到添加的文本,以“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.

如您所见,许多特殊字符和公式未被识别或未被正确识别。

【讨论】:

  • 感谢您的详细回答。我有点怀疑,但我不知道3 Tr 命令。我现在可以引用这个了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-01
  • 2010-12-17
  • 1970-01-01
  • 1970-01-01
  • 2015-03-19
  • 1970-01-01
相关资源
最近更新 更多