データ分析
2024/08/06
古川 直輝

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

New call-to-action