Требуется позиционный аргумент PyPDF2 - PullRequest
1 голос
/ 16 февраля 2020

Я пытаюсь разделить PDF-файл по страницам перед его преобразованием в Txt. Я использую этот код, чтобы разделить его, но есть и ошибка, связанная с позиционным аргументом. Я предполагаю, что это должна быть первая страница списка, но я не могу найти способ передать его в сам код. Это код:

from PyPDF2 import PdfFileReader, PdfFileWriter

pdf_document = "5Dec2019.pdf"
pdf = PdfFileReader(pdf_document)

for page in range(pdf.getNumPages()):
    pdf_writer = PdfFileWriter
    current_page = pdf.getPage(page)
    pdf_writer.addPage(current_page)

    outputFilename = "example-page-{}.pdf".format(page + 1)
    with open(outputFilename, "rb") as out:
        pdf_writer.write(out)

        print("created", outputFilename)

Это ошибка:

TypeError                                 Traceback (most recent call last)
<ipython-input-28-ab33e5847c35> in <module>
      7     pdf_writer = PdfFileWriter
      8     current_page = pdf.getPage(page)
----> 9     pdf_writer.addPage(current_page)
     10 
     11     outputFilename = "example-page-{}.pdf".format(page + 1)

TypeError: addPage() missing 1 required positional argument: 'page'

1 Ответ

1 голос
/ 16 февраля 2020

Проблема в том, что вы присваиваете pdf_writer классу PdfFileWriter, а не экземпляру этого класса.

Средство простое:

    pdf_writer = PyPDF2.PdfFileWriter()
    # you need these parens/brackets ^^

Также: при открытии выходного файла вы используете 'rb' вместо того, что должно быть: 'wb'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...