【问题标题】:pdfminer pdf2text outputs 'FF'pdfminer pdf2text 输出'FF'
【发布时间】:2017-11-26 02:07:47
【问题描述】:

我有一个 pdf。在我的win 10、python 3.6环境下安装pdfminer.six后,我跑了:

$ pdf2txt.py -o test1 download.pdf

给我截图输出。当我跑步时:

$ dumppdf.py -o test2 download.pdf

我明白了:

<trailer>
<dict size="4">
<key>Info</key>
<value><ref id="47" /></value>
<key>ID</key>
<value><list size="2">
<string size="16">+&#13;N&#158;&#213;&#233;&#197;&#176;&#8;&#207;&#15;&#60;&#133;M&#140;&#4;</string>
<string size="16">&#34;&#179;&#255;&#28;&#221;&#234;&#177;&#39;&#166;&#133;&#15;&#214;&#237;&#25;&#196;&#205;</string>
</list></value>
<key>Root</key>
<value><ref id="46" /></value>
<key>Size</key>
<value><number>48</number></value>
</dict>
</trailer>

<trailer>
<dict size="4">
<key>Info</key>
<value><ref id="47" /></value>
<key>ID</key>
<value><list size="2">
<string size="16">+&#13;N&#158;&#213;&#233;&#197;&#176;&#8;&#207;&#15;&#60;&#133;M&#140;&#4;</string>
<string size="16">&#34;&#179;&#255;&#28;&#221;&#234;&#177;&#39;&#166;&#133;&#15;&#214;&#237;&#25;&#196;&#205;</string>
</list></value>
<key>Root</key>
<value><ref id="46" /></value>
<key>Size</key>
<value><number>48</number></value>
</dict>
</trailer>

接下来我该怎么做?我怎样才能让它工作?

【问题讨论】:

  • 更新您的 PDF 链接,使其无需登录任何应用程序即可访问。
  • 这行得通吗?
  • "此文档已从 Scribd 中删除。" --- 通常,谷歌驱动器或 Dropbox 上的公开共享工作正常。
  • 这个怎么样?
  • 可以下载该共享。接下来请说明您期望达到的目标?该 Foreclosure Worksheet PDF 不包含文本绘制指令,仅包含图形绘制指令(其结果看起来像文本),因此 PDF 文本提取将不会返回任何内容。您最好使用 OCR 而不是文本提取。

标签: python pdf pdfminer pdf-parsing


【解决方案1】:

pdfminer 无法从相关文档中提取任何可用文本的原因是该文档不包含文本!

更准确地说,Worksheet PDF 不包含文本绘制说明,仅包含图形绘制说明(其结果看起来像文本)。另一方面,PDF 文本提取器(如 pdfminer)仅检查 文本绘制指令,因此它们不会返回任何内容。

因此,要从此类文档中挖掘数据,最好使用 OCR 而不是文本提取。


在你问的评论中

你怎么知道只包含图形说明?你用什么工具?

您需要一个 PDF 浏览器应用程序和一些 PDF 内部知识。

作为 PDF 浏览器,我通常使用iText RUPSPDFBox PDF Debugger。但也有其他不错的浏览器,例如Adobe Preflight 中包含一个。

使用这样的 PDF 浏览器,您可以检查 PDF 的内容流,其中包含绘制页面的说明。在您的情况下,这些内容流不包含任何文本绘制指令,仅包含图形绘制指令。

PDF 内部知识可以通过研究 PDF 规范 ISO 32000-2(旧的前驱规范 ISO 32000-1 也是一个很好的起点,如果手头没有新规范)并分析许多真实的-word PDFs。

【讨论】:

  • 我得知此文档可能已被扫描。是否可以从此pdf中提取原始扫描图像/jpg?
  • 很可能有 python pdf 库可以这样做。不幸的是我不知道,因为我不在 python 中处理 pdf 文件。但是,如果我没记错的话,您的 pdf 中的页面不会存储为单个大图像资源,而是存储为许多小图像资源的马赛克。这在扫描仪输出中并不少见,因为一些扫描仪试图对图像进行分析并将其拆分以实现更紧凑的存储。
猜你喜欢
  • 1970-01-01
  • 2018-06-16
  • 2017-02-12
  • 2018-01-10
  • 2019-07-20
  • 2015-01-19
  • 2014-03-12
  • 2019-08-10
  • 1970-01-01
相关资源
最近更新 更多