はじめに
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