PythonでPDFファイルを画像に変換する方法
PythonでPDFファイルを画像に変換する方法
PDFファイルを画像ファイルに変換することは、文書を共有する際やウェブ上で表示する際に便利な手法です。Pythonのpdf2image
モジュールを使用して、PDFファイルを画像に変換する方法を解説します。さらに、変換時に使用するツールpoppler
を環境変数に追加する手順も詳しく説明します。
コードの意味と使い方
以下のコードは、PDFファイルを画像に変換する方法を示しています。
import os
from pathlib import Path
from pdf2image import convert_from_path
# poppler/binを環境変数PATHに追加する
poppler_dir = Path(__file__).parent.absolute() / "poppler/Library/bin"
os.environ["PATH"] += os.pathsep + str(poppler_dir)
pdf_path = Path("./folder/test.pdf")
image_dir = Path("./folder")
# PDFファイルを画像に変換
pages = convert_from_path(pdf_path, dpi=150)
if len(pages) > 1:
for i, page in enumerate(pages):
file_name = pdf_path.stem + "_{:02d}".format(i + 1) + ".jpeg"
image_path = image_dir / file_name
# JPEGで保存
page.save(str(image_path), "JPEG")
else:
file_name = pdf_path.stem + ".jpeg"
image_path = image_dir / file_name
# JPEGで保存
pages[0].save(str(image_path), "JPEG")
コードの詳細解説
-
pdf2image
モジュールを使用して、PDFファイルを画像に変換する方法を示します。 -
poppler/bin
へのパスをpoppler_dir
変数に設定します。これにより、poppler
ツールのバイナリが環境変数PATH
に追加されます。poppler
はPDFファイルを画像に変換するためのツールセットです。 -
変換対象のPDFファイルのパスを
pdf_path
変数に設定します。 -
画像を保存するディレクトリのパスを
image_dir
変数に設定します。 -
convert_from_path()
関数を使用して、指定したPDFファイルを画像に変換します。dpi
引数で解像度を設定できます。 -
変換された画像が複数ページある場合、各ページをループで処理し、ファイル名を設定して保存します。ページ番号を含めたファイル名を作成し、JPEG形式で保存します。
-
変換された画像が1ページしかない場合、ファイル名を設定してJPEG形式で保存します。
まとめ
Pythonのpdf2image
モジュールを使用して、PDFファイルを画像に変換する方法を解説しました。PDFファイル内の各ページを画像として抽出し、JPEG形式で保存する手法です。また、変換時に必要なツールであるpoppler
の設定も詳しく説明しました。ぜひこれらの手法を活用して、PDFファイルを画像として効率的に利用してみてください!
pdf2image
モジュールの公式ドキュメント:
https://github.com/Belval/pdf2image
Discussion