Я просто пытаюсь объединить некоторые PDF-файлы с помощью python, а точнее PyPDF2. Достаточно просто, но у меня почему-то выдает ошибку, которую просто не понять.
В поисках решения я обнаружил, что у других людей тоже была эта проблема. Однако удовлетворительного решения для меня не было опубликовано.
Мой код для слияния файлов:
from PyPDF2 import PdfFileMerger
def merge(self, work_files, destination_file):
pdf_merger = PdfFileMerger()
for pdf in work_files:
pdf_merger.append(pdf)
#also tried the following with the same results:
#with open(pdf, 'wb') as fileobj:
#merger.append(fileobj)
with open(destination_file, 'wb') as fileobj:
pdf_merger.write(fileobj)
тогда как work_files
— это список путей к PDF-файлам для слияния, а destination_file
— это файл, который должен быть сохранен объединенным PDF-файлом.
Это приводит к следующей ошибке (полная трассировка стека предоставляется по запросу):
Traceback (most recent call last):
File "main.py", line 9, in <module>
merger.append(fileobj)
File "/home/user/.local/lib/python3.8/sitepackages/PyPDF2/merger.py",line 203,
in append
self.merge(len(self.pages), fileobj, bookmark, pages,
import_bookmarks)
File "/home/user/.local/lib/python3.8/site-
packages/PyPDF2/merger.py",
line 133, in merge
pdfr = PdfFileReader(fileobj, strict=self.strict)
File "/home/user/.local/lib/python3.8/site-
packages/PyPDF2/pdf.py", line 1084,
in __init__
self.read(stream)
File "/home/user/.local/lib/python3.8/site
packages/PyPDF2/pdf.py", line 1689,
in read
stream.seek(-1, 2)
OSError: [Errno 22] Invalid argument
Я пробовал разные способы ввода путей, я пробовал относительные пути, абсолютные пути, а также анализировал их в другой файл, но безуспешно.
Я использую Python 3.8 и работаю с Linux Ubuntu 20.04.
Буду благодарен за любую помощь.