PDFファイルをページごとに別ファイルにする

 

複数ページあるPDFファイルを1ページごとに別ファイルにするソースコード

 

import fitz  # PyMuPDFのモジュール

# 関数の定義
def split_pdf(input_pdf_path, output_folder):

    # PDFファイルを開く
    pdf_document = fitz.open(input_pdf_path)

    # ページの数だけループ
    for page_number in range(pdf_document.page_count):

        # 各ページを取得する
        page = pdf_document[page_number]

        # 新しいPDFドキュメントを作成し、1ページだけを持つドキュメントにする
        new_pdf_document = fitz.open()
        new_pdf_document.insert_pdf(pdf_document, from_page=page_number, to_page=page_number)

        # 出力ファイルのパスを構編集する
        output_file_path = f"{output_folder}/page_{page_number + 1}.pdf"

        # 新しいPDFドキュメントを保存する
        new_pdf_document.save(output_file_path)
        new_pdf_document.close()

        print(f"Page {page_number + 1} saved to {output_file_path}")

    # 元のPDFドキュメントを閉じる
    pdf_document.close()

# メイン処理の定義
if __name__ == "__main__":
    # 入力と出力のパスを指定
    input_pdf_path = "D:\lab\pdf\hoge.pdf"  # 入力PDFファイルのパス
    output_folder = "D:\lab\pdf\output"      # 出力フォルダのパス

    # 出力フォルダが存在しない場合は作成する
    import os
    os.makedirs(output_folder, exist_ok=True)

    # PDFを分解して保存する関数を呼び出し
    split_pdf(input_pdf_path, output_folder)