无法使用 PyPDF2 打开 PDF 文件

Ami*_*hum 6 python pdf python-3.x

我正在使用 Python 3.8.5。我正在尝试编写一个简短的脚本来连接 PDF 文件并从这个 Stack Overflow 问题中学习,我正在尝试使用PyPDF2. 不幸的是,我似乎无法在PyPDF2.PdfFileReader不崩溃的情况下创建实例。

我的代码如下所示:

import pathlib
import PyPDF2

pdf_path = pathlib.Path('1.pdf')
with pdf_path.open('rb') as pdf_file:
    reader = PyPDF2.PdfFileReader(pdf_file, strict=False)
Run Code Online (Sandbox Code Playgroud)

当我尝试运行它时,我得到以下回溯:

Traceback (most recent call last):
  File "C:\...\pdf\open_pdf.py", line 6, in <module>
    reader = PyPDF2.PdfFileReader(pdf_file, strict=False)
  File "C:\...\.virtualenvs\pdf-j0HnXL2B\lib\site-packages\PyPDF2\pdf.py", line 1084, in __init__
    self.read(stream)
  File "C:\...\.virtualenvs\pdf-j0HnXL2B\lib\site-packages\PyPDF2\pdf.py", line 1883, in read
    stream.seek(-11, 1)
OSError: [Errno 22] Invalid argument
Run Code Online (Sandbox Code Playgroud)

为了帮助重现该问题,我使用上述代码和示例 PDF 文件创建了此 GitHub存储库。

我究竟做错了什么?

GPr*_*ost 2

您的文件似乎1.pdf未通过验证,请在此处检查:https ://www.pdf-online.com/osa/validate.aspx

我尝试使用另一个版本 1.7 的 pdf 文件并且它有效,所以这与 pdf 版本无关,你只是有一个错误的 1.pdf 文件