ファイルの並べ替えを行い、statfiles = [filename1、filename2、felename3 ......] のようなタプルを生成するスクリプトがあります。次に、それらのファイルに対応する PDF を取得し、そのファイルから 1 ページを抽出して、すべての 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()