如何从有多个文件的目录中只分割每个pdf文件的第一页

  • 本文关键字:文件 分割 pdf 第一页 python pypdf
  • 更新时间 :
  • 英文 :


我创建了两个具有输入和输出名称的目录。输入目录有多个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):

最新更新