如何从pdf中提取页面并将其同时放入zip中

时间:2013-08-08 18:55:55

标签: python sorting pdf zip extract

我有脚本对文件进行一些排序并生成一个看起来像statfiles = [filename1,filename2,felename3 ......]的元组。 然后我需要为这些文件获取相应的PDF,从该文件中提取一个页面并创建一个包含所有pdf处理的zip文件。现在,我只能将提取的页面保存到单独的(plots_ext)临时文件夹中,然后从该文件夹中获取文件并将其存入存档。我确信它可以在没有实际保存到临时文件夹的情况下完成。但我对Python没有经验,所以我不确定如何实现这个任务。

以下是我的代码中提取/压缩任务的部分:

pdfs = zipfile.ZipFile("hi_eff.zip","w"

for item in statfiles:

     output = pyPdf.PdfFileWriter()
     input1 = pyPdf.PdfFileReader(open('plots/'+item+".pdf", "rb"))
     output.addPage(input1.getPage(0))
     outputStream = open('plots_ext/'+item+".pdf", "wb")
     output.write(outputStream)
     outputStream.close()    

try:
    pdfs.write('plots_ext/'+item+".pdf")
except:
    print ('No PDF file for ', filename)

pdfs.close()

1 个答案:

答案 0 :(得分:0)

您应该能够将outputStream替换为StringIO对象,并使用ZipFile.writestr(StringIO.getvalue())将其写出来。