pdfminer pdf2text outputs 'FF'
我有一个pdf文件。在Win 10,Python 3.6环境中安装pdfminer.six之后,我运行:
1 | $ pdf2txt.py -o test1 download.pdf |
给我截图输出。当我运行时:
1 | $ dumppdf.py -o test2 download.pdf |
我知道了:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <trailer> <dict size="4"> <key>Info</key> <value><ref id="47" /></value> <key>ID</key> <value><list size="2"> <string size="16">+NM</string> <string size="16"></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">+NM</string> <string size="16"></string> </list></value> <key>Root</key> <value><ref id="46" /></value> <key>Size</key> <value><number>48</number></value> </dict> </trailer> |
下一步我该怎么做?我该如何工作?
pdfminer无法从相关文档中提取任何可用文本的原因是该文档不包含文本!
更确切地说,Worksheet PDF不包含文本绘制指令,仅包含图形绘制指令(其结果看起来像文本)。另一方面,PDF文本提取器(如pdfminer)仅检查文本绘制指令,因此它们将不返回任何内容。
因此,要从此类文档中挖掘数据,最好使用OCR,而不要提取文本。
在您询问的评论中
how do you know that only graphic instructions are contained? What tools do you use?
您需要一个PDF浏览器应用程序和一些PDF内部知识。
作为PDF浏览器,我通常使用iText RUPS或PDFBox PDF调试器。但是也有其他好的浏览器,例如Adobe Preflight中包含一个。
使用这样的PDF浏览器,您可以检查PDF的内容流,其中包含绘制页面的说明。而且,在您的情况下,这些内容流不包含任何文本绘制指令,仅包含图形绘制指令。
通过研究PDF规范ISO 32000-2(如果没有较新的规范,也可以使用旧的前体规范ISO 32000-1,这也是一个很好的起点)来获得PDF内部知识。 -word的PDF文件。