【Python】PDFファイルを結合するツール
スポンサーリンク

はじめに

PythonでPDFを結合するツールをご紹介します。

コード

入力ディレクトリ存在する全てのPDFファイルを取得し、出力ディレクトリに1つのPDFファイルとして結合します。

import os
import datetime
import glob
import pypdf

INPUT_DIR = "pdf-merge-input"
OUTPUT_FILE_NAME = "pdf-merge-output/merge_%Y%m%d_%H%M%S_%f.pdf"


def main():
    merge()


def merge():
    # 入力ディレクトリ作成
    input_dir = INPUT_DIR
    if not os.path.isdir(input_dir):
        os.makedirs(input_dir)

    # 出力ディレクトリ作成
    dt_now = datetime.datetime.now()
    output_file = dt_now.strftime(OUTPUT_FILE_NAME)
    output_dir = os.path.dirname(output_file)
    if not os.path.isdir(output_dir):
        os.makedirs(output_dir)

    # 入力ファイル一覧取得
    input_files = glob.glob(os.path.join(input_dir, "*"))
    input_files = list(filter(lambda x: os.path.isfile(x), input_files))
    input_files = sorted(input_files)

    # PDFオープン
    writer = pypdf.PdfWriter()

    # PDF追加
    for input_file in input_files:
        writer.append(input_file)
        print(f"input_file:{input_file}")

    # PDF出力
    if len(input_files) > 0:
        writer.write(output_file)
        print(f"output_file:{output_file}")

    # PDFクローズ
    writer.close()


if __name__ == "__main__":
    main()

使い方

このツールの使い方をご説明します。

【手順1】インストール(初回のみ)

以下のコマンドを入力してPythonにpypdfライブラリをインストールします。

pip install pypdf

【手順2】Python準備(初回のみ)

上記コードをコピーし「python-pdf-merge.py」 ファイルとして保存してください。

【手順3】ディレクトリ準備(初回のみ)

以下のコマンドを入力して必要なディレクトリを作成します。

python ./python-pdf-merge.py

【手順4】PDF準備

作成された「pdf-merge-input」ディレクトリに結合したいPDFファイルを格納します。

※ファイル名の昇順で結合されますので、結合の順番はファイル名で調整してください。

【手順5】PDF結合

以下のコマンド入力すると「pdf-merge-output」ディレクトリに結合されたPDFファイルが作成されます。

python ./python-pdf-merge.py

スポンサーリンク
おすすめの記事