複数ページある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__":
# 入力と出力のパスを指定
output_folder = "D:\lab\pdf\output" # 出力フォルダのパス
# 出力フォルダが存在しない場合は作成する
import os
os.makedirs(output_folder, exist_ok=True)
# PDFを分解して保存する関数を呼び出し
split_pdf(input_pdf_path, output_folder)