【问题标题】:PdfFileReader: PdfReadError: Could not find xref table at specified locationPdfFileReader:PdfReadError:在指定位置找不到外部参照表
【发布时间】:2016-03-10 08:36:20
【问题描述】:

我正在尝试通过以下方式在 python 中读取 Pdf 文件:

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

以上行抛出错误:

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

我们将不胜感激任何帮助

【问题讨论】:

    标签: pypdf pdf-reader


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您可以使用 qpdf 修复损坏的 PDF,或者您可以简单地使用 pikepdf(基于 qpdf)而不是 PyPDF2。该库能够很好地处理损坏的 PDF,因为它基于 qpdf。

      例子:

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

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

      【讨论】:

      • 这解决了问题。即使它已损坏,它也会读取 pdf 文件。
      【解决方案3】:

      您可以通过在 Adob​​e Acrobat Reader 中打开每个 PDF,然后以相同的名称保存打开的 PDF 来解决此问题。这将修复损坏,以便 PyPDF2 可以读取文件。

      【讨论】:

        猜你喜欢
        • 2016-08-16
        • 1970-01-01
        • 2010-12-30
        • 1970-01-01
        • 2021-04-12
        • 2016-07-09
        • 1970-01-01
        • 2012-08-15
        • 1970-01-01
        相关资源
        最近更新 更多