Pythonで複数のPDFファイルを結合する方法(GoogleColab)
今回は、Python(GoogleColab)でPDFの結合を行います。これもツールはいくつかありますが、Pythonを使って一気にやりたいこともあると思うので、参考になれば幸いです。
実装の目標
今回は、複数のPDFを用意し、それぞ順番に繋げて1つのPDFとすることを目標とします。
pdf1.pdf、pdf2.pdf、pdf3.pdfという3つのpdfファイルを用意し、これらをcombined.pdfとして出力させます。
※2つを結合するなど、ファイル数を変えることもできるようにします。
コードの各部分の解説
①PDF結合関数の定義
def combine_pdfs(pdf_list, output_filename):
combine_pdfsという関数を定義します。
この関数は、結合するPDFファイルのリスト(pdf_list)と、結合後のPDFファイルの名前(output_filename)を引数として受け取ります。
②新しいPDFファイルの作成
combined_pdf = fitz.open()
結合するための新しいPDFファイル(combined_pdf)を作成しています。このファイルに、結合するPDFを追加します。
③PDF結合のためのループ
for pdf_file in pdf_list:
with fitz.open(pdf_file) as pdf:
指定されたPDFファイルのリスト(pdf_list)をループで処理させます。
各PDFファイルはfitz.openを使用して開かれ、後続の処理のためにpdf変数に格納されます。
④各PDFファイルからページの追加
combined_pdf.insert_pdf(pdf)
現在開いているPDFファイル(pdf)から、全ページを新しく作成したPDFファイル(combined_pdf)に追加しています。
⑤結合したPDFの保存とクローズ
combined_pdf.save(output_filename)
combined_pdf.close()
結合されたPDFファイルを指定されたファイル名(output_filename)で保存し、その後PDFファイルを閉じます。
⑥関数の使用例
combine_pdfs(['pdf1.pdf', 'pdf2.pdf', 'pdf3.pdf'], 'combined.pdf')
combine_pdfs関数を使用します。
例として'pdf1.pdf', 'pdf2.pdf', 'pdf3.pdf'というファイルを結合し、'combined.pdf'として保存する処理を行っています。
※ここのリスト[]の数を変更すれば結合するファイルを変更できます。
コード全体
ここまでをまとめるとコード全体は以下のようになります。
ここから先は
¥ 120
この記事が気に入ったらチップで応援してみませんか?