PythonによるPDFから画像への変換
PDFから画像への変換は、Pythonアプリケーションで一般的な要件です。 開発者はこれを使用してドキュメントのサムネイル、ウェブプレビューを生成し、PDFコンテンツを画像処理パイプラインにフィードします。 IronPDF for Python は、RasterizeToImageFiles メソッドを提供しており、これにより、任意の PDF ドキュメント(または URL)を、DPI や寸法を自由に設定可能な JPEG、PNG、または TIFF 画像ファイルに変換できます。
このガイドでは、PythonでPDFファイルを画像に変換する方法、出力品質を制御する方法、レイアウト制約に合わせて画像サイズを設定する方法を示します。
Quickstart: PDFを画像に変換
- IronPDFのインストール:
pip install ironpdf - PDFドキュメントを読み込む:
pdf = PdfDocument.FromFile("document.pdf") - すべてのページをPNGに変換する:
pdf.RasterizeToImageFiles("output/*.png", DPI=96)
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/quickstart.py
from ironpdf import PdfDocument
pdf = PdfDocument.FromFile("document.pdf")
pdf.RasterizeToImageFiles("output/*.png", DPI=96)#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/quickstart.py
from ironpdf import PdfDocument
pdf = PdfDocument.FromFile("document.pdf")
pdf.RasterizeToImageFiles("output/*.png", DPI=96)PythonでPDFを画像に変換する方法
- IronPDF Pythonライブラリをインストール
PdfDocument.FromFileを使用してPDFをロードするか、ChromePdfRendererを使用してURLからレンダリングしますRasterizeToImageFilesを呼び出して出力パスパターン(例:output/*.png)を指定しますDPIを設定して画像品質を制御します。高い値はよりシャープな出力を生成しますImageMaxWidthとImageMaxHeightを使用して出力寸法を制約します
開発者がPDFを画像に変換する理由は?
PDFから画像への変換は、ソフトウェア開発におけるいくつかの実用的な問題を解決します。 最も一般的な要件はプレビュージェネレーションです。ウェブインターフェースやモバイルアプリケーションでPDFドキュメントのサムネイルを表示し、ユーザーにファイル全体をダウンロードさせたり開かせたりしません。
他の頻繁な使用例には以下が含まれます:
- 機械学習パイプライン:OCRモデル、レイアウト解析ツール、コンピュータービジョンシステムは、PDFではなく画像入力を受け付けます
- アーカイブとコンプライアンス:元のPDFとともに視覚的なスナップショットを保存することで、PDFビューアが変更されても長期間の読取り可能性を確保します
- レポート埋め込み:他のドキュメントやメールテンプレート内に特定のPDFページを画像として含めます
- 自動テスト:レンダリングされたページスナップショットを比較し、PDF出力におけるビジュアルリグレッションを検出します
Pythonには標準ライブラリにネイティブなPDFから画像への機能は含まれていません。 pdf2image のようなツールは、外部バイナリとして Poppler をインストールする必要があり、これによりデプロイの複雑さが増します。 IronPDFは内部でレンダリングを処理するため、PythonプロジェクトにPDFから画像への変換機能を追加するには、たった1つのpip installだけで済みます。
PDFファイルを画像に変換する方法は?
PDFを画像に変換するには、PdfDocumentを呼び出します。 このメソッドはページごとに1つの画像ファイルを書き込み、指定されたディレクトリに保存します。 出力パス内のアスタリスク (*) は、1 から始まるページ番号に置き換えられます。したがって、assets/images/*.png は assets/images/2.png といった具合になります。
メソッドを呼び出す前に出力ディレクトリを作成します。 存在しない場合、IronPDFは自動的にそれを作成しません。
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/convert-pdf-to-images.py
from ironpdf import PdfDocument
# Load a PDF from disk
pdf = PdfDocument.FromFile("my-content.pdf")
# Write each page to a PNG file in the "assets/images" folder
# The folder must exist before calling this method
pdf.RasterizeToImageFiles("assets/images/*.png", DPI=96)#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/convert-pdf-to-images.py
from ironpdf import PdfDocument
# Load a PDF from disk
pdf = PdfDocument.FromFile("my-content.pdf")
# Write each page to a PNG file in the "assets/images" folder
# The folder must exist before calling this method
pdf.RasterizeToImageFiles("assets/images/*.png", DPI=96)DPI パラメータは画像の解像度を制御します。 高いDPIはよりシャープな画像を生成しますが、ファイルサイズが大きくなり、処理時間も長くなります。標準的な値:
| DPI | 一般的な用途 |
|---|---|
| 72 | 画面解像度、迅速な処理 |
| 96 | 標準的なウェブ品質 |
| 150 | 良好な印刷品質 |
| 300 | 高品質印刷出力 |

各PDFページにつき1つのPNGファイルを含む出力ディレクトリ
出力画像がぼやけて見える場合は、DPIの値を大きくしてください。 50ページのドキュメントにわたる300 DPIの処理は96 DPIよりも明らかに時間がかかります。使用ケースに必要な実際の品質要件に基づいて選択します。
特定のページ範囲を画像に変換する方法は?
一部のページのみを変換するには、ページインデックスを RasterizeToImageFiles の 2 番目の引数として渡してください。 ページインデックスはゼロベースの整数です。
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/convert-page-range.py
from ironpdf import PdfDocument
pdf = PdfDocument.FromFile("my-content.pdf")
# Convert only pages 1, 2, and 3 (zero-based indices: 0, 1, 2)
pdf.RasterizeToImageFiles("assets/images/*.png", [0, 1, 2], DPI=96)#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/convert-page-range.py
from ironpdf import PdfDocument
pdf = PdfDocument.FromFile("my-content.pdf")
# Convert only pages 1, 2, and 3 (zero-based indices: 0, 1, 2)
pdf.RasterizeToImageFiles("assets/images/*.png", [0, 1, 2], DPI=96)選択ページ抽出は、ファイル全体を不要に処理することを避けながら、プレビューが必要な最初の数ページだけで有用です。PDFにすでに埋め込まれた画像を抽出するワークフローでは、IronPDFは個別の抽出メソッドを提供しています。
URLを画像に変換する方法は?
IronPDFは、ウェブページをPDFにレンダリングし、そのPDFを単一のワークフローで画像に変換することができます。 ChromePdfRenderer を使用して URL を取得・レンダリングし、その結果として得られる PdfDocument に対して RasterizeToImageFiles を呼び出してください。 このアプローチは、別のスクリーンショットツールを必要とせずに、ウェブページの視覚的アーカイブを作成したり、ウェブベースのコンテンツのプレビュー画像を生成したりします。
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/url-to-images.py
from ironpdf import ChromePdfRenderer
# Render a web page to PDF
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://www.example.com")
# Convert each rendered page to a PNG image
pdf.RasterizeToImageFiles("assets/images/*.png", DPI=96)#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/url-to-images.py
from ironpdf import ChromePdfRenderer
# Render a web page to PDF
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://www.example.com")
# Convert each rendered page to a PNG image
pdf.RasterizeToImageFiles("assets/images/*.png", DPI=96)レンダリングされた画像は、Chromiumブラウザーにおけるページの外観を反映し、CSSスタイルやJavaScriptレンダリングされたコンテンツを含めます。 認証の背後にあるページや相互作用が必要なページの場合、IronPDFのHTMLからPDFのチュートリアルを使用して、事前レンダリングされたマークアップを直接供給することを検討してください。 その結果生成されたPDFは、上記の方法と同様にラスタライズできます。

IronPDFを通じてレンダリングされたURLから生成された画像
出力画像の寸法を制御する方法は?
デフォルトでは、RasterizeToImageFiles は、DPI 係数でスケーリングされたネイティブのページサイズで画像を生成します。 出力サイズを制限するには、ImageMaxWidth および ImageMaxHeight を設定してください。いずれもピクセル単位で測定されます。
IronPDFは、ImageMaxHeightの値に基づいて元の縦横比を維持します。 指定された幅と高さがソースページとは異なる比率でも、出力は引き延ばされることなく保持されます。
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/constrained-dimensions.py
from ironpdf import PdfDocument
pdf = PdfDocument.FromFile("my-content.pdf")
# Generate thumbnail images constrained to 500x500 pixels
pdf.RasterizeToImageFiles(
"assets/images/*.png",
ImageMaxWidth=500,
ImageMaxHeight=500,
DPI=200
)#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/constrained-dimensions.py
from ironpdf import PdfDocument
pdf = PdfDocument.FromFile("my-content.pdf")
# Generate thumbnail images constrained to 500x500 pixels
pdf.RasterizeToImageFiles(
"assets/images/*.png",
ImageMaxWidth=500,
ImageMaxHeight=500,
DPI=200
)ImageMaxWidth=500, ImageMaxHeight=500 を 200 DPI に設定すると、サムネイル表示やカード型 UI レイアウトに適した画像が生成されます。 これらの値をアプリケーションデザインが要求する寸法に合わせて調整します。 IronPDFは、ラスタライズされるPDFコンテンツを生成するためにPythonからのPDF作成や変換前に複数PDFの結合をサポートしています。
ImageMaxWidth よりも狭くなる可能性があります。 可変幅のサムネイルを処理するようにレイアウトを設計します。)}]PDFから画像への変換の次のステップは?
このガイドでは、PDFファイルを画像に変換する、URLを画像に変換する、画像の寸法と品質を制御するという3つの主要なワークフローをカバーしました。 IronPDFは、同じRasterizeToImageFilesメソッドを通じて、JPEG、JPG、PNG、TIFF、およびその他の形式をサポートしています。 出力パスパターンのファイル拡張子を変更してフォーマットを切り替えます。
さらなる自動化について、次のステップを考慮してください:
- バッチ処理: PDFファイルが格納されたディレクトリをループ処理し、各ファイルを順番に変換するか、並列処理にはPythonの
concurrent.futuresモジュールを使用します - 選択抽出:ページインデックスパラメータを使用して、使用ケースに関連するページのみを抽出します
- 画像パイプライン統合:出力ファイルをPIL/PillowやOpenCVにフィードし、クロップ、注釈付け、またはフォーマットの標準化などのさらなる処理を行います
- 変換前の圧縮:大きなドキュメントをラスタライズする前に、IronPDFのPDF圧縮を使用してファイルサイズを減少させます
- フォームワークフロー:プログラム的にPDFフォームを記入し、レビューやアーカイブ用に完成したフォームページを画像に変換します
IronPDFでの開発を続けるには、IronPDF for PythonドキュメントとPDFを画像にラスタライズする例を探索してください。
IronPDF for Pythonの30日間の無料トライアルでこれらの機能を本番で使用を始めてください。 展開の準備ができたら、プロジェクト規模に適したプランについてライセンスオプションを確認してください。
よくある質問
PythonでPDFを画像に変換するにはどうすればいいですか?
pip install ironpdfでIronPDFをインストールし、その後PdfDocument.FromFile("file.pdf")でPDFをロードし、RasterizeToImageFiles("output/*.png", DPI=96)を呼び出します。これにより指定されたディレクトリにページごとの画像が書き込まれます。
IronPDFはPDF変換のためにどの画像フォーマットをサポートしていますか?
IronPDFはPNG、JPEG、JPG、およびTIFF出力フォーマットをサポートしています。RasterizeToImageFilesに渡す出力パスパターンでファイル拡張子を変更することでフォーマットを指定します。例えば*.jpgはJPEG、*.tiffはTIFFを意味します。
PDFを変換するときの画像品質をどう制御しますか?
RasterizeToImageFilesでDPIパラメータを使用します。96の値は標準のWeb品質です。150は印刷プレビューに適しています。300は高品質印刷出力を生成します。DPI値が高いほど、ファイルサイズと処理時間が増加します。
出力画像の最大幅または高さを設定できますか?
はい。RasterizeToImageFilesにピクセル単位でImageMaxWidthおよびImageMaxHeightを渡します。IronPDFは高さ値に基づいてアスペクト比を保持しますので、画像が歪むことはありません。
PDFの特定のページのみを画像に変換するにはどうすればいいですか?
RasterizeToImageFilesの第2引数としてゼロベースのページインデックスリストを渡します。例えば[0, 1, 2]は最初の3ページのみを変換します。
IronPDFを使用してWebページのURLを画像に変換できますか?
はい。ChromePdfRendererを使用してURLでRenderUrlAsPdfを呼び出し、それがPdfDocumentを返します。そのドキュメントでRasterizeToImageFilesを呼び出して、各レンダリングされたページから画像ファイルを生成します。
IronPDFはPDFから画像への変換に外部バイナリを必要としますか?
いいえ。IronPDFは独自のChromiumベースのレンダリングエンジンを含んでおり、PopplerやGhostscript、外部バイナリのインストールを必要としません。pip install ironpdfで始めるのに十分です。
変換された画像がぼやけて見えるのはなぜですか?
ぼやけた出力は低いDPI値が原因です。デフォルトの96から150または300に増やしてシャープな結果を得ます。高DPIはファイルサイズを増大させ、処理に時間がかかることに注意してください。







