複数のPDFを1つにマージして出力フォルダーに入れるPythonスクリプトを書いています。各 PDF は従業員名が記載された別のフォルダーにあり、別のフォルダー内の対応する PDF と組み合わせる必要があります。すべての従業員が各ファイルを持っているわけではないので、ロジックに含めました。
私が現在抱えている問題は、ファイルを追加するときに PdfFileMerger が文字列を期待し、pathlib ライブラリが windowpath オブジェクトを返すことです。それは簡単に文字列に変換されません。この投稿pypdf Merging multiple pdf files into one pdfから PyPDF2 に関するこの情報を取得しています。私は pathlib ライブラリを初めて使用します。変換を行う必要がありますか、それとも別のパス オブジェクトを取得する必要がありますか?
from PyPDF2 import PdfFileMerger, PdfFileReader
from pathlib import Path
tc = Path('totalcomp')
merger = PdfFileMerger()
for i in tc.iterdir():
pdfs = []
try:
pdfs.append(Path(f'profitshare/{i.name}'))
pdfs.append(Path(f'merit/{i.name}'))
finally:
pdfs.append(i)
for pdf in pdfs:
output = i.name
merger.append(pdf, 'rb')
merger.write(Path(f'/output/{i.name}'))