我创建了两个具有输入和输出名称的目录。输入目录有多个PDF文件,每个文件都有多个页面。我正在尝试获取每个PDF文件的第一页,应该保存在输出目录中。以下是我尝试导入的代码
from PyPDF2 import PdfFileWriter, PdfFileReader
in_path = "D:/data/input/"
out_path = "D:/data/output/"
output = PdfFileWriter()
pages_to_keep = [0]
in_files = (f for f in os.listdir(in_path) if os.path.isfile(f) and f.endswith('.pdf'))
for file in in_files:
po = open(file, 'rb')
rd = PdfFileReader(po, strict=False)
for i in pages_to_keep:
page = rd.getPage(i)
output.addPage(page)
with open(out_path+str(file), 'wb') as f:
output.write(f):
问题是:当我执行保存输出文件1有1页、输出文件2有2页、第三个文件有3页的脚本时。但我只需要所有PDF文件的第一页。如何解决这个问题。
您需要重置每个文件的输出:
for file in in_files:
output = PdfFileWriter() # clear output
po = open(file, 'rb')
rd = PdfFileReader(po, strict=False)
for i in pages_to_keep:
page = rd.getPage(i)
output.addPage(page)
with open(out_path+str(file), 'wb') as f:
output.write(f):