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