需要位置参数 PyPDF2

Positional argument required PyPDF2

我试图在将 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'

问题是您将 pdf_writer 分配给 class PdfFileWriter,而不是 class 的 实例 =].

补救措施很简单:

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

此外:当您打开输出文件时,您使用的是 'rb' 而不是它应该是的:'wb'.