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

はじめに

PythonでPDFを分割するツールをご紹介します。

コード

入力ディレクトリ存在する全てのPDFファイルを取得し、出力ディレクトリに1ページずつ分割したPDFファイルを作成します。

import os
import datetime
import glob
import pypdf

INPUT_DIR = "pdf-split-input"
OUTPUT_DIR = "pdf-split-output"


def main():
    split()


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

    # 出力ディレクトリ作成
    output_dir = OUTPUT_DIR
    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を1ファイルずつ分割
    for input_file in input_files:

        # 入力PDFオープン
        reader = pypdf.PdfReader(input_file)
        print(f"input_file:{input_file}")

        # ページ分割
        for i_page in range(len(reader.pages)):
            # 出力ファイル名作成
            filename = os.path.basename(input_file)
            name, ext = os.path.splitext(filename)
            output_file = os.path.join(output_dir, f"{name}_{i_page}{ext}")

            # 1ページずつPDFファイル作成
            writer = pypdf.PdfWriter()
            writer.add_page(reader.pages[i_page])
            writer.write(output_file)
            writer.close()
            print(f"output_file:{output_file}")

        # 入力PDFクローズ
        reader.close()


if __name__ == "__main__":
    main()

使い方

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

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

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

pip install pypdf

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

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

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

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

python ./python-pdf-split.py

【手順4】PDF準備

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

【手順5】PDF分割

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

python ./python-pdf-split.py

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