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

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

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

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

このガイドでは、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/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-1.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から画像への変換を追加するには、単一のpip installのみが必要です。

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

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

PDFを画像に変換するには、PdfDocumentインスタンスに呼び出してください。 このメソッドはページごとに1つの画像ファイルを書き込み、指定されたディレクトリに保存します。 出力パス内のアスタリスク(assets/images/2.pngなどを生成します。

メソッドを呼び出す前に出力ディレクトリを作成します。 存在しない場合、IronPDFは自動的にそれを作成しません。

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-2.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高品質印刷出力
11 ページの PDF から RasterizeToImageFiles によって生成された番号付き PNG 出力ファイル(1.png から 11.png)を示すファイルエクスプローラー

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

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

ヒントウェブサムネイルの生成には96 DPIで十分であり、ファイルサイズを小さく保ちます。 150-300 DPIは、画像がフルサイズで印刷または表示される場合に備えて予約します。)]}

特定のページ範囲を画像に変換する方法は?

特定のページのみを変換するには、ページインデックスを第2引数としてRasterizeToImageFilesに渡してください。 ページインデックスはゼロベースの整数です。

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-3.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は個別の抽出メソッドを提供しています。

Icon Quote related to 特定のページ範囲を画像に変換する方法は?

私のお気に入りのこの種のライブラリはIronPDFです。PDFファイルの迅速で効率的な操作が可能です。また、PDF/A形式へのエクスポートやPDF文書へのデジタル署名といった多くの貴重な機能も備えています。

Milan Jovanovic related to 特定のページ範囲を画像に変換する方法は?

Milan Jovanovic

Microsoft MVP

ケーススタディを見る
Icon Quote related to 特定のページ範囲を画像に変換する方法は?

IronOCRのおかげで私たちは年間$40,000を手作業の処理から節約し、生産性を向上させ、高影響のタスクにリソースを充てることができます。非常にお勧めします。

Brent Matzelle related to 特定のページ範囲を画像に変換する方法は?

Brent Matzelle

最高技術責任者, OPYN

ケーススタディを見る
Icon Quote related to 特定のページ範囲を画像に変換する方法は?

IronSuiteは私たちの業務において重要な役割を果たしています。これらは、フロアプランの作成や在庫管理の改善を含め、ビジネス全体の効率を向上させるツールです。

David Jones related to 特定のページ範囲を画像に変換する方法は?

David Jones

リードソフトウェアエンジニア、Agorus Build

ケーススタディを見る

URLを画像に変換する方法は?

IronPDFは、ウェブページをPDFにレンダリングし、そのPDFを単一のワークフローで画像に変換することができます。 RasterizeToImageFilesを呼び出してください。 このアプローチは、別のスクリーンショットツールを必要とせずに、ウェブページの視覚的アーカイブを作成したり、ウェブベースのコンテンツのプレビュー画像を生成したりします。

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-4.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は、上記の方法と同様にラスタライズできます。

IronPDF によって URL から PDF にレンダリングされて生成された 5 つの PNG ファイル(1.png から 5.png)を示すファイルエクスプローラー

IronPDFを通じてレンダリングされたURLから生成された画像

出力画像の寸法を制御する方法は?

デフォルトでは、RasterizeToImageFilesはDPI係数によってスケーリングされたネイティブなページ寸法で画像を生成します。 出力サイズを制限するには、ImageMaxHeightをピクセル単位で設定してください。

IronPDFはImageMaxHeight値に基づいて元のアスペクト比を保持します。 指定された幅と高さがソースページとは異なる比率でも、出力は引き延ばされることなく保持されます。

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-5.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

200 DPIでImageMaxWidth=500, ImageMaxHeight=500を設定すると、サムネイル表示またはカードベースのUIレイアウトに適した画像が生成されます。 これらの値をアプリケーションデザインが要求する寸法に合わせて調整します。 IronPDFは、ラスタライズされるPDFコンテンツを生成するためにPythonからのPDF作成や変換前に複数PDFの結合をサポートしています。

重要アスペクト比は高さに基づいて保持されます。 ソースページが横長の場合、結果の画像はImageMaxWidthよりも狭くなることがあります。 可変幅のサムネイルを処理するようにレイアウトを設計します。

PDFから画像への変換の次のステップは?

このガイドでは、PDFファイルを画像に変換する、URLを画像に変換する、画像の寸法と品質を制御するという3つの主要なワークフローをカバーしました。 IronPDFはJPEG、JPG、PNG、TIFF、および同じRasterizeToImageFilesメソッドを介した追加のフォーマットをサポートします。 出力パスパターンのファイル拡張子を変更してフォーマットを切り替えます。

さらなる自動化について、次のステップを考慮してください:

  • バッチ処理: PDFディレクトリをループして各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
テクニカルライター

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

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

準備はできましたか?
バージョン: 2026.6 リリースされたばかり
Still Scrolling Icon

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

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