PythonでPDF処理を行うことは、PDFファイルから情報を抽出したり、PDFファイルを生成するために便利な方法です。PyPDF2は、PythonでPDFファイルを処理するための有名なライブラリの一つです。この記事では、PyPDF2を使ってPDFファイルを分割する方法を紹介します。
PyPDF2のインストール
まずはじめに、PyPDF2をインストールする必要があります。以下のコマンドを実行して、PyPDF2をインストールしてください。
pip install PyPDF2
PDFファイルの分割方法PyPDF2を使用してPDFファイルを分割するには、以下の手順を実行します。
PyPDF2をインポートする。
import PyPDF2
分割するPDFファイルを開く。
pdf_file = open('sample.pdf', 'rb')
ここで、sample.pdfは分割するPDFファイルの名前です。rbは、読み込み専用でバイナリ形式でファイルを開くことを意味します。
PdfFileReader()を使用して、PDFファイルを読み込む。
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
getNumPages()を使用して、ページの総数を取得する。
num_pages = pdf_reader.getNumPages()
分割するページ数を指定する。
split_page = 5
ここでは、5ページ目までのページを1つのPDFファイルにまとめ、6ページ目以降のページを別のPDFファイルにまとめることを目指します。
1つ目のPDFファイルに含めるページ数を指定する。
first_pdf_pages = PyPDF2.PdfFileWriter() for page in range(split_page): first_pdf_pages.addPage(pdf_reader.getPage(page))
上記のコードは、1からsplit_pageまでのページをループ処理し、first_pdf_pagesという名前の新しいPDFファイルに追加するためのコードです。各ページはgetPage()を使用して取得し、addPage()を使用して新しいPDFファイルに追加します。
2つ目のPDFファイルに含めるページ数を指定する。
second_pdf_pages = PyPDF2.PdfFileWriter() for page in range(split_page, num_pages): second_pdf_pages.addPage(pdf_reader.getPage(page))
上記のコードは、split_pageから最後のページまでのページをループ処理し、second_pdf_pagesという名前の新しいPDFファイルに追加するためのコードです。各ページは、getPage()
を使用して取得し、addPage()
を使用して新しいPDFファイルに追加します。
1つ目と2つ目のPDFファイルを保存する。
with open('first_pdf_file.pdf', 'wb') as f: first_pdf_pages.write(f) with open('second_pdf_file.pdf', 'wb') as f: second_pdf_pages.write(f)
上記のコードは、first_pdf_pagesとsecond_pdf_pagesをそれぞれfirst_pdf_file.pdfとsecond_pdf_file.pdfに保存するためのコードです。
全てのファイルを閉じる。
pdf_file.close() f.close()
以上が、PyPDF2を使用してPDFファイルを分割するためのコードです。
完成したコード
以下は、上記の手順を組み合わせた完全なコード例です。
import PyPDF2 pdf_file = open('sample.pdf', 'rb') pdf_reader = PyPDF2.PdfFileReader(pdf_file) num_pages = pdf_reader.getNumPages() split_page = 5 first_pdf_pages = PyPDF2.PdfFileWriter() for page in range(split_page): first_pdf_pages.addPage(pdf_reader.getPage(page)) second_pdf_pages = PyPDF2.PdfFileWriter() for page in range(split_page, num_pages): second_pdf_pages.addPage(pdf_reader.getPage(page)) with open('first_pdf_file.pdf', 'wb') as f: first_pdf_pages.write(f) with open('second_pdf_file.pdf', 'wb') as f: second_pdf_pages.write(f) pdf_file.close() f.close() print("PDFファイルの分割が完了しました。")
まとめ
PyPDF2を使用してPDFファイルを分割することができます。上記の手順に従って、Pythonを使用してPDFファイルを分割する方法を学びました。これは、PDFファイルを扱う場合に便利な方法の1つであり、PyPDF2の多くの機能を活用することができます。これらのプログラムはPythonの基本的な文法とライブラリで実装することができます。Pythonの基礎学習には下記のようなサイトの利用が有効です。