PythonでPDFを1ページずつ分割する方法(GoogleColab)
PDFを分割する手段は複数ありますが、面倒なことも多いです。今回はPython(GoogleColab)を使ってPDFファイルを1ページずつ分割していきます。
実装の目標
以下のようにsample.pdf(今回は5ページ)を1ページずつ分割することを目標とします。
コードの各部分の解説
①PDFを分割する関数の定義
def split_pdf(file_path):
split_pdfという名前の関数を定義します。
この関数は、PDFファイルのパス(file_path)を引数として受け取り、そのPDFファイルをページごとに分割する処理を行います。
②PDFファイルの読み込み
pdf = fitz.open(file_path)
fitz.openを使用して、指定されたパスにあるPDFファイルを開きます。このpdfオブジェクトを通じて、PDFの内容にアクセスし操作を行います。
③各ページの処理を行うループ
for page_number in range(len(pdf)):
PDFの各ページに対してループ処理を行います。
range(len(pdf))はPDFのページ数に基づいて範囲を生成し、各ページ番号(page_number)に対して処理を行います。
④個々のページの取得と出力ファイル名の設定
page = pdf[page_number]
output_filename = f"output_page_{page_number + 1}.pdf"
ループ内で、現在のページ(page)をPDFから取得し、それぞれのページを保存するための出力ファイル名(output_filename)を生成します。
ファイル名はoutput_page_X.pdfの形式で、Xはページ番号です。
⑤新しいPDFファイルの作成とページの追加
page_pdf = fitz.open()
page_pdf.insert_pdf(pdf, from_page=page_number, to_page=page_number)
新しいPDFファイル(page_pdf)を作成し、元のPDFから現在のページをこの新しいPDFに挿入します。
insert_pdfメソッドは、指定された範囲のページ(この場合は単一のページ)を別のPDFにコピーします。
⑥新しいPDFファイルの保存とクローズ
page_pdf.save(output_filename)
page_pdf.close()
新しく作成されたPDFファイルを指定されたファイル名で保存し、そのファイルを閉じます。
これにより、元のPDFの各ページが個別のファイルとして保存されます。
⑦元のPDFファイルのクローズ
pdf.close()
最後に、元のPDFファイルを閉じます。
⑧関数の使用例
split_pdf('sample.pdf')
実際に関数を使用する例です。この場合、'sample.pdf'というファイル名のPDFを分割します。実際の使用時には、ここに任意のPDFファイル名を指定します。
コード全体
ここまでをまとめるとコード全体は次のようになります。
ここから先は
¥ 100
この記事が気に入ったらチップで応援してみませんか?