PythonでのPDF処理:PyPDF2を使ってPDFファイルの分割を行う方法

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の基礎学習には下記のようなサイトの利用が有効です。

click.linksynergy.com

click.linksynergy.com