Комментарии 4
Ошибку «TypeError: int() argument must be a string, a bytes-like object or a number, not PSKeyword» победили в итоге? )
Нет) Лазил в исходный код, попытался явно поменять на str(). Но ничего не вышло. Я так понял она возникает в документах с каким-то специфическим рецензированием. По крайней мере у меня было так. В общем я плюнул и перевел все на fitz
Попробуйте этот код. Он итерационно прогоняет все pdf в папке. Возможно, он освоит не читаемые файлы.
код
#! python3
import PyPDF2, os
from datetime import datetime
start = datetime.now()
os.chdir('C:\\5\\')
pdfFiles = []
for filename in os.listdir('.'):
if filename.endswith('.pdf'):
pdfFiles.append(filename)
pdfFiles.sort()
pdfWriter = PyPDF2.PdfFileWriter()
# Loop through all the PDF files.
for filename in pdfFiles:
pdfFileObj = open(filename, 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
# Loop through all the pages and add them.
for pageNum in range(0, pdfReader.numPages):
pageObj = pdfReader.getPage(-1)
pdfWriter.addPage(pageObj)
# Save the resulting PDF to a file.
pdfOutput = open('all-small.pdf', 'wb')
pdfWriter.write(pdfOutput)
pdfOutput.close()
print(datetime.now()- start)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Работа с pdf-файлами с помощью библиотеки fitz