pythonでPDFを縦方向に3等分(上中下に分割)
ライブラリ名何をするもの?
fitzPDFファイルを読み込んだり、画像に変換する(PyMuPDFというツールの一部)
PIL.Image画像を切り取ったり保存したりする
osフォルダを作ったりファイルを操作する

順番

📄 スクリプトの流れ

① 入力PDFファイルと保存先の指定

  • input_pdf:もとになるPDFファイル(例:1ページに3つのボックスがあるPDF)
  • output_dir:分割したファイルを入れておくフォルダ
  • os.makedirs:フォルダを作る

② PDFファイルを開く

この行でPDFファイルを開きます。
この doc には、ページ情報が全部入ってます。


③ ページごとに処理する

この部分は「全ページに対して、1ページずつ処理していくよ」という意味。


④ ページを画像に変換する

PDFのページを「画像(写真のようなもの)」に変えています。
この画像をあとで「3つに切り取る」ことになります。


⑤ 画像を3等分して切り取る

ここで画像を「上・中・下」の3つに分割しています。
たとえば高さが900ピクセルなら、1つの高さは300ピクセルになります。


⑥ 分割した画像をPDFに変換して保存する

分割した部分は、

  1. まずPNG画像として保存
  2. それをPDFに変換
  3. PNGは削除(ゴミを残さないため)

という流れです。


⑦ 最後にPDFを閉じる

開いたPDFを閉じて、処理終了です。


🎉 結果としてできること

たとえば page_1.pdf にこんなページがあったとすると:

このスクリプトを使うと、次の3つのPDFができます:

  • split_pages_vertical/page1_part1.pdf → PDF1の部分だけ
  • split_pages_vertical/page1_part2.pdf → PDF2の部分だけ
  • split_pages_vertical/page1_part3.pdf → PDF3の部分だけ

✅ まとめ

このスクリプトは:

  • 1ページに3つ並んだPDF内容を
  • 縦方向に3分割して
  • それぞれを別々のPDFファイルにする

おすすめの記事