首页 > 解决方案 > Python 3 - 拆分 PDF 文件

问题描述

我希望从我的 PDF 文件中提取第 30 到 34 页并将其制成一个文档。但是,我的代码似乎只能让我获得第 34 页。

import os
from PyPDF2 import PdfFileReader, PdfFileWriter

path = 'file_path'

pdf = PdfFileReader(path, "rb")

for page in range(29, 33):
    pdf_writer = PdfFileWriter()
    pdf_writer.addPage(pdf.getPage(page))

output_fname = "Output.pdf"

with open(output_fname, 'wb') as out:
    pdf_writer.write(out)

print ("PDF file has been split")

好的,我注意到如果我更改了代码的中间部分以手动添加页面,它就可以工作。但我确实需要一种不那么笨重的方法来提取大量页面。

output.addPage(pdf.getPage(29))
output.addPage(pdf.getPage(30))

标签: python-3.xpypdf2

解决方案


Nvm 我意识到我的错误。应该刚刚从循环语句中排除 pdf_writer = PdfFileWriter() 。

import os
from PyPDF2 import PdfFileReader, PdfFileWriter

path = 'file_path'
pdf = PdfFileReader(path, "rb")

pdf_writer = PdfFileWriter()

for page in range(29, 33):
    pdf_writer.addPage(pdf.getPage(page))

output_fname = "Output.pdf"

with open(output_fname, 'wb') as out:
    pdf_writer.write(out)

print ("PDF file has been split")

推荐阅读