Pengecualian pyPDF IOError di OSX

Saya mencoba membuka pdf (bernama kalimera.pdf) menggunakan PdfFileReader dari modul pyPdf, menggunakan serangkaian perintah berikut

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

Saya mendapatkan kesalahan berikut:

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

Platformnya adalah OSX 10.11.3 dan versi pythonnya adalah 2.7.10 (meskipun ini juga direproduksi dalam python3.5).


person bergercookie    schedule 08.02.2016    source sumber
comment
Sudahkah Anda mencoba beberapa file PDF untuk masukan Anda? Saya sudah mencoba contoh PDF dengan Python 2.7.4 dan sepertinya saya tidak mengerti IOError...   -  person summea    schedule 09.02.2016
comment
Apa maksudnya banyak PDF? Itu tidak berfungsi dengan pdf apa pun yang saya miliki di direktori kerja.   -  person bergercookie    schedule 09.02.2016


Jawaban (1)


Saya tidak tahu mengapa Anda mendapatkan kesalahan itu, Anda membaca file PDF dalam mode biner dan meneruskannya ke PdfFileReader, mungkin Anda harus mencoba dengan file PDF lainnya.

Bagaimanapun, coba gunakan: https://pythonhosted.org/PyPDF2/ ini adalah PyPDF versi terbaru, dan menurut saya ini mendukung python2.7.

person Pedro Gomes    schedule 08.02.2017