PythonでPDFを画像に変換する方法 | IronPDF

PythonによるPDFから画像への変換

This article was translated from English: Does it need improvement?
Translated
View the article in English

PDFから画像への変換は、Pythonアプリケーションで一般的な要件です。 開発者はこれを使用してドキュメントのサムネイル、ウェブプレビューを生成し、PDFコンテンツを画像処理パイプラインにフィードします。 IronPDF for Python は、RasterizeToImageFiles メソッドを提供しており、これにより、任意の PDF ドキュメント(または URL)を、DPI や寸法を自由に設定可能な JPEG、PNG、または TIFF 画像ファイルに変換できます。

このガイドでは、PythonでPDFファイルを画像に変換する方法、出力品質を制御する方法、レイアウト制約に合わせて画像サイズを設定する方法を示します。

Quickstart: PDFを画像に変換

  1. IronPDFのインストール: pip install ironpdf
  2. PDFドキュメントを読み込む: pdf = PdfDocument.FromFile("document.pdf")
  3. すべてのページを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を画像に変換する理由は?

PDFから画像への変換は、ソフトウェア開発におけるいくつかの実用的な問題を解決します。 最も一般的な要件はプレビュージェネレーションです。ウェブインターフェースやモバイルアプリケーションでPDFドキュメントのサムネイルを表示し、ユーザーにファイル全体をダウンロードさせたり開かせたりしません。

他の頻繁な使用例には以下が含まれます:

  • 機械学習パイプライン:OCRモデル、レイアウト解析ツール、コンピュータービジョンシステムは、PDFではなく画像入力を受け付けます
  • アーカイブとコンプライアンス:元のPDFとともに視覚的なスナップショットを保存することで、PDFビューアが変更されても長期間の読取り可能性を確保します
  • レポート埋め込み:他のドキュメントやメールテンプレート内に特定のPDFページを画像として含めます
  • 自動テスト:レンダリングされたページスナップショットを比較し、PDF出力におけるビジュアルリグレッションを検出します

Pythonには標準ライブラリにネイティブなPDFから画像への機能は含まれていません。 pdf2image のようなツールは、外部バイナリとして Poppler をインストールする必要があり、これによりデプロイの複雑さが増します。 IronPDFは内部でレンダリングを処理するため、PythonプロジェクトにPDFから画像への変換機能を追加するには、たった1つのpip installだけで済みます。

ご注意IronPDFはChromiumベースのレンダリングエンジンを使用します。HTMLレンダリングされたPDFは、ブラウザで表示されるものと同じ見栄えの画像を生成します。これは、PDFがHTMLあるいはURLソースから由来する場合に便利です。

PDFファイルを画像に変換する方法は?

PDFを画像に変換するには、PdfDocumentを呼び出します。 このメソッドはページごとに1つの画像ファイルを書き込み、指定されたディレクトリに保存します。 出力パス内のアスタリスク (*) は、1 から始まるページ番号に置き換えられます。したがって、assets/images/*.pngassets/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)
PYTHON

DPI パラメータは画像の解像度を制御します。 高いDPIはよりシャープな画像を生成しますが、ファイルサイズが大きくなり、処理時間も長くなります。標準的な値:

DPI値と典型的な使用ケース
DPI一般的な用途
72画面解像度、迅速な処理
96標準的なウェブ品質
150良好な印刷品質
300高品質印刷出力
File explorer showing numbered PNG output files (1.png through 11.png) generated by RasterizeToImageFiles from an 11-page PDF

各PDFページにつき1つのPNGファイルを含む出力ディレクトリ

出力画像がぼやけて見える場合は、DPIの値を大きくしてください。 50ページのドキュメントにわたる300 DPIの処理は96 DPIよりも明らかに時間がかかります。使用ケースに必要な実際の品質要件に基づいて選択します。

ヒントウェブサムネイルの生成には96 DPIで十分であり、ファイルサイズを小さく保ちます。 150-300 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)
PYTHON

選択ページ抽出は、ファイル全体を不要に処理することを避けながら、プレビューが必要な最初の数ページだけで有用です。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)
PYTHON

レンダリングされた画像は、Chromiumブラウザーにおけるページの外観を反映し、CSSスタイルやJavaScriptレンダリングされたコンテンツを含めます。 認証の背後にあるページや相互作用が必要なページの場合、IronPDFのHTMLからPDFのチュートリアルを使用して、事前レンダリングされたマークアップを直接供給することを検討してください。 その結果生成されたPDFは、上記の方法と同様にラスタライズできます。

File explorer showing 5 PNG files (1.png through 5.png) generated from a URL rendered to PDF by IronPDF

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
)
PYTHON

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/PillowOpenCVにフィードし、クロップ、注釈付け、またはフォーマットの標準化などのさらなる処理を行います
  • 変換前の圧縮:大きなドキュメントをラスタライズする前に、IronPDFのPDF圧縮を使用してファイルサイズを減少させます
  • フォームワークフロープログラム的にPDFフォームを記入し、レビューやアーカイブ用に完成したフォームページを画像に変換します

IronPDFでの開発を続けるには、IronPDF for PythonドキュメントPDFを画像にラスタライズする例を探索してください。

IronPDF for Pythonの30日間の無料トライアルでこれらの機能を本番で使用を始めてください。 展開の準備ができたら、プロジェクト規模に適したプランについてライセンスオプションを確認してください。

ご注意さらに読む: PDF を画像に変換する

よくある質問

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を変換するときの画像品質をどう制御しますか?

RasterizeToImageFilesDPIパラメータを使用します。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はファイルサイズを増大させ、処理に時間がかかることに注意してください。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
バージョン: 2026.5 just released
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか?
サンプルを実行するHTML が PDF に変換されるのを確認します。