【Python】PDFをページ数を指定して結合する

Python

PDFで複数ファイルがある場合に必要なページだけマージして一つのPDFにまとめて出力するコードを作ったのであげておきます。

PDF処理も例によってライブラリが充実しているので今回はPyPDF2を使って処理します。!pipを使うことでjupyter上でもpipでインストールできます。

!pip install PyPDF2

以下のコードでPDFの入ったフォルダを指定して実行すればマージしてPDFを結合します。ページ数を指定して結合しているのでページ数が足りないPDFが紛れていた場合は除外されます。

import PyPDF2
import glob
import os

#PDFの入っているフォルダの場所を指定
dir_name=r"C:\Users\***\Desktop\test"

#フォルダ内のファイル名すべて取得してリスト化する
file_name_list=os.listdir(dir_name) 
file_name_list

#merger立ち上げ
merger = PyPDF2.PdfFileMerger()

for i in file_name_list:
    try:
        #ページ数をマージして追加
        merger.append(dir_name+'\\'+i, pages=(0, 2))
        print(i)
    except:
        #ページ数が足りないファイルは除外
        print('nothing')

#ファイルを出力する
merger.write('./結合結果.pdf')

#mergerを閉じる
merger.close()

シンプルなコードですがPDFの結合を一発でできるので一度作っておけば自単になるでしょう。

オライリーの退屈なことはPythonにやらせようでは自動化がたくさん紹介されているので定型業務は全部自動化して生産性を上げましょう。

コメント

タイトルとURLをコピーしました