PythonでPDFファイルをページごとに分割する方法

Pythonを使用することで特定のページを抽出したり、ページごとに分割することができます。

目次

はじめに

PDFファイルは多くの場面で特定のページを抽出したり、ページごとに分割したりする必要があります。

本記事ではPythonを使用してPDFをページごとに分割する方法について解説します。

実行環境とライブラリの説明

実行環境はGoogle Colabを使用します。

ライブラリはPyPDF2を使用します。

PyPDF2はPDFファイルの読み取り、編集、作成、マージ、分割、および変換を行うことができます。

実装手順

以下にコード全体を記載します。

!pip install PyPDF2

from google.colab import drive
import PyPDF2 as pdf2

drive.mount("/content/drive/")

path = "your file path"
file_name = "your file name"

pdf = open(f"{path}/{file_name}","rb")
pdf_reader = pdf2.PdfReader(pdf)

for page in range(len(pdf_reader.pages)):
  pdf_writer = pdf2.PdfWriter()
  pdf_writer.add_page(pdf_reader.pages[page])
  new_pdf_path = f"{path}/{file_name[:-4]}_page_{page+1}.pdf"
  with open(new_pdf_path, "wb") as new_pdf:
    pdf_writer.write(new_pdf)

コードの詳細説明

pdf = open(f"{path}/{file_name}","rb")

PDFファイルを開きます。

“rb”はテキストファイルではなく、画像、音声、動画、PDFなどを扱う際に使用されます。

pdf_writer = pdf2.PdfWriter()
pdf_writer.add_page(pdf_reader.pages[page])

PdfWriterは新しいPDFファイルを作成するために使用されます。

これにより新しいPDFファイルを作成して、そこにページを追加する準備が整います。

 

結果

指定したフォルダ内にページごとに分割されたPDFファイルが保存されていたら成功です。

まとめ

本記事ではPythonを用いてPDFファイルをページごとに分割する方法を記載しました。

今回はfor文ですべてのページを分割しましたが、特定のページのみを分割することなども可能です。

PDFファイルの分割は様々な場面で活用できると思うので、この記事を参考にしてみてください。

CTA
  • URLをコピーしました!
  • URLをコピーしました!
この記事を書いた人
目次