PdfFileReader:PdfReadError:在指定位置找不到外部参照表

时间:2015-12-05 12:20:59

标签: pypdf pdf-reader

我试图通过以下方式阅读python中的Pdf文件:

from PyPDF2 import PdfFileReader, PdfFileWriter
test_reader = PdfFileReader(file("test.pdf", "rb"))

Above Line抛出错误:

PyPDF2.utils.PdfReadError: Could not find xref table at specified location

任何帮助都将受到高度赞赏

2 个答案:

答案 0 :(得分:2)

这是固定的。实际上,没有任何问题。似乎,我用来测试的pdf已经损坏了(即使我打开它时,内容就在那里,这就是为什么我在第一时间无法弄清楚的原因)

我用另一个替换它,它按预期工作。

答案 1 :(得分:0)

您可以使用qpdf修复损坏的PDF,也可以只使用 pikepdf (基于qpdf)代替PyPDF2。该库基于qpdf,因此能够很好地处理损坏的PDF。

示例:

import pikepdf
pdf = pikepdf.Pdf.open(file)

Pikepdf文档:https://pikepdf.readthedocs.io/en/latest/