Pythonを使用してPDFのページを分割する方法 - シンプルな手法


  1. PyPDF2を使用する方法:

PyPDF2はPythonのPDF処理ライブラリであり、PDFファイルを操作するためのさまざまな機能を提供しています。以下の手順でPDFのページを分割することができます。

import PyPDF2
def split_pdf_pages(input_path, output_path, start_page, end_page):
    with open(input_path, 'rb') as file:
        reader = PyPDF2.PdfReader(file)
        writer = PyPDF2.PdfWriter()
        for page_number in range(start_page-1, end_page):
            writer.add_page(reader.pages[page_number])
        with open(output_path, 'wb') as output_file:
            writer.write(output_file)
# 使用例
split_pdf_pages('input.pdf', 'output.pdf', 1, 5)

この例では、input.pdfという名前の入力ファイルから1ページ目から5ページ目までのページを抽出し、output.pdfという名前の出力ファイルに保存しています。

  1. pdf2imageとPILを使用する方法:

pdf2imageはPythonのPDF処理ライブラリであり、PDFファイルを画像に変換する機能を提供しています。PIL (Python Imaging Library)は画像処理のためのライブラリです。以下の手順でPDFのページを画像に変換し、必要なページを抽出することができます。

from pdf2image import convert_from_path
from PIL import Image
def split_pdf_pages(input_path, output_path, start_page, end_page):
    images = convert_from_path(input_path)
    for page_number in range(start_page-1, end_page):
        image = images[page_number]
        image.save(f'{output_path}_{page_number+1}.png')
# 使用例
split_pdf_pages('input.pdf', 'output', 1, 5)

この例では、input.pdfという名前の入力ファイルを画像に変換し、1ページ目から5ページ目までの画像をそれぞれoutput_1.pngからoutput_5.pngという名前で保存しています。

以上が、Pythonを使用してPDFのページを分割する方法の例です。適切な手法を選んで必要なコードを実装してください。