ข้อยกเว้น pyPDF IOError ใน OSX

ฉันกำลังพยายามเปิด pdf (ชื่อ kalimera.pdf) โดยใช้ PdfFileReader จากโมดูล pyPdf โดยใช้ชุดคำสั่งต่อไปนี้

from pyPdf import PdfFileReader, PdfFileWriter
document = PdfFileReader(open('kalimera.pdf', 'rb')) 

ฉันได้รับข้อผิดพลาดต่อไปนี้:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/pyPdf/pdf.py", line 374, in __init__
    self.read(stream)
  File "/Library/Python/2.7/site-packages/pyPdf/pdf.py", line 702, in read
    stream.seek(-1, 2)
IOError: [Errno 22] Invalid argument

แพลตฟอร์มนี้คือ OSX 10.11.3 และเวอร์ชัน python คือ 2.7.10 (แม้ว่าจะทำซ้ำใน python3.5 เช่นกัน)


person bergercookie    schedule 08.02.2016    source แหล่งที่มา
comment
คุณได้ลองใช้ไฟล์ PDF หลายไฟล์เพื่อป้อนข้อมูลแล้วหรือยัง? ฉันได้ลองตัวอย่าง PDF ใน Python 2.7.4 แล้ว แต่ดูเหมือนจะไม่ได้รับสิ่งนั้น IOError...   -  person summea    schedule 09.02.2016
comment
PDF หลายอันหมายถึงอะไร? มันใช้ไม่ได้กับไฟล์ PDF ใด ๆ ที่ฉันมีในไดเร็กทอรีการทำงาน   -  person bergercookie    schedule 09.02.2016


คำตอบ (1)


ฉันไม่รู้ว่าทำไมคุณถึงได้รับข้อผิดพลาดนั้น คุณกำลังอ่านไฟล์ PDF ในโหมดไบนารี่และส่งผ่านไปยัง PdfFileReader บางทีคุณควรลองใช้ไฟล์ PDF อื่น ๆ

อย่างไรก็ตาม ลองใช้ : https://pythonhosted.org/PyPDF2/ ซึ่งเป็น PyPDF เวอร์ชันล่าสุด และฉันคิดว่ามันรองรับ python2.7

person Pedro Gomes    schedule 08.02.2017