需要位置参数 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'
.
我试图在将 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'
.