Python PDFMiner错误:"没有/Root对象!-这真的是PDF吗?"

5
我在使用Python 2.7和PDFMiner版本20110515时,在我的MAC电脑上出现了错误"No /Root object! - Is this really a PDF?"。这些pdf文件没有损坏,因为在我的PC电脑上使用相同的程序和文件可以正常工作!此外,我尝试了许多pdf文件,但所有文件都存在此错误。有什么建议可以更改我的MAC以避免出现此错误吗?

2
PDFMiner的版本20110515是Beta版,因此可能存在错误。幸运的是,它是纯Python编写的,这可以帮助简化调试过程。您描述的问题可能是由于正在解析的文件中处理行尾的方式导致的。确保以二进制模式打开它们,即fp = open('mypdf.pdf', 'rb')。在问题文件上运行包含的dumppdf.py实用程序也可能有所帮助。最后,错误可能是由于您使用的Python解释器与机器不同造成的。并非所有版本的Python都内置通用换行符支持。 - martineau
1个回答

5
我找到了问题的根源:
我有一个方法来读取目录中的所有文件并解析它们。结果发现在该目录下有一个隐藏文件不是pdf文件!
这是我如何解决问题的方法:
for filename in os.listdir(INPUT_DIR_NAME):
    if filename.endswith('.pdf'):
        #do stuff!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接