Python PDF 轉換為圖像
PDF到圖像的轉換是Python應用程式中的一個常見需求。 開發人員使用它來生成文件縮略圖、網頁預覽,並將PDF內容輸入至圖像處理流程中。 IronPDF for Python 提供RasterizeToImageFiles方法,該方法可以將任何PDF文件(或URL)轉換為JPEG、PNG或TIFF圖像文件,並具有可配置的DPI和尺寸。
本指南展示了如何在Python中將PDF文件轉換為圖像,如何控制輸出質量,以及如何調整製成圖像的尺寸以符合佈局限制。
快速入門:將PDF轉換為圖像
- 安裝IronPDF:
pip install ironpdf - 載入PDF文件:
pdf = PdfDocument.FromFile("document.pdf") - 將每個頁面轉換為PNG:
pdf.RasterizeToImageFiles("output/*.png", DPI=96)
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-1.pyfrom 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到圖像的轉換僅需要一個pip install。
IronPDF 使用基於Chromium的渲染引擎。HTML-rendered PDFs產生的圖像看起來與瀏覽器顯示的完全相同,這在PDF來自HTML或URL來源時很實用。
如何將PDF文件轉換為圖像?
要將PDF轉換為圖像,在RasterizeToImageFiles。 該方法將每頁寫入一個圖像文件到指定目錄中。 輸出路徑中的星號(assets/images/1.png, assets/images/2.png等。
在調用方法之前建立輸出目錄。 如果不存在,IronPDF不會自動建立它。
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-2.pyfrom 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頁面輸出為PNG文件的目錄
如果輸出圖像顯得模糊,則增加DPI值。 處理300 DPI跨50頁文件的時間明顯長於96 DPI--根據實際質量需求選擇使用案例。
{t:對於網路縮圖生成,96 DPI已經足夠並保持文件大小小。 保留150-300 DPI用於圖像將列印或全尺寸顯示的情況。
如何將特定頁面範圍轉換為圖像?
要僅轉換一個頁面子集,將頁面索引作為第二個參數傳遞給RasterizeToImageFiles。 頁面索引是從零開始的整數。
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-3.pyfrom 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轉換為圖像。 使用RasterizeToImageFiles。 此方法建立了網頁的視覺存檔,或為基於網頁的內容生成預覽圖像,而不需要單獨的截圖工具。
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-4.pyfrom 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可以使用上述相同的方法進行光柵化。

從URL呈現的圖像經由IronPDF生成
如何控制輸出圖像的尺寸?
預設情況下,RasterizeToImageFiles生成按頁面原始尺寸並乘以DPI因子縮放的圖像。 要限制輸出大小,設置ImageMaxHeight,均以像素為單位。
IronPDF根據ImageMaxHeight值保持原始縱橫比。 即使指定的寬度和高度與源頁面具有不同的比例關係,輸出不會被拉伸或變形。
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-5.pyfrom 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會生成適合縮略圖顯示或基於卡片的使用者介面佈局的圖像。 調整這些值以符合應用程式設計所需的尺寸。 為產生被光柵化的PDF內容,IronPDF還支持從Python建立PDFs和合併多個PDF進行轉換。
{n:縱橫比基於高度維持。 如果源頁面比高還寬,則生成的圖像可能比ImageMaxWidth窄。 設計版面以處理可變寬度的縮略圖。
PDF轉換為圖像的下一步是什麼?
本指南涵蓋了三個核心工作流程:將PDF文件轉換為圖像、將URL轉換為圖像,以及控制圖像的尺寸和質量。 IronPDF支持JPEG、JPG、PNG、TIFF和其他格式,通過相同的RasterizeToImageFiles方法。 更改輸出路徑模式中的文件擴展名以切換格式。
對於進一步的自動化,請考慮以下步驟:
- 批量處理:迴圈遍歷PDF的目錄,依次轉換每一個,或使用Python的
concurrent.futures模組進行並行處理 - 選擇性提取:利用頁索引參數提取僅與使用場景相關的頁面
- 圖像管道整合:將輸出文件提供給PIL/Pillow或OpenCV進行進一步的處理,如裁剪、註釋或格式標準化
- 壓縮前的轉換:利用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時控制圖像質量?
在RasterizeToImageFiles中使用DPI參數。96的值為標準網頁質量。150適合印刷預覽。300產生高質量印刷輸出。較高的DPI會增加文件大小和處理時間。
我可以為輸出圖像設置最大寬度或高度嗎?
可以。以像素為單位傳遞ImageMaxWidth和ImageMaxHeight給RasterizeToImageFiles。IronPDF根據高度值保留長寬比,這樣圖像不會失真。
如何僅將PDF的特定頁面轉換為圖像?
將零基的頁面索引列表作為第二個參數傳遞給RasterizeToImageFiles。例如,[0, 1, 2]僅轉換前三頁。
我可以使用IronPDF將網頁URL轉換為圖像嗎?
可以。使用ChromePdfRenderer調用RenderUrlAsPdf與URL,它返回PdfDocument。然後調用該文件上的RasterizeToImageFiles來生成每個渲染頁面的圖像文件。
IronPDF是否需要任何外部二進製文件才能將PDF轉換為圖像?
不需要。IronPDF包含自己基於Chromium的渲染引擎,不需要Poppler、Ghostscript或任何外部二進製文件安裝。一個pip install ironpdf就足以開始使用。
為什麼我轉換的圖像看起來模糊?
模糊的輸出是由低DPI值引起的。將其從預設的96增加到150或300以獲得更清晰的結果。注意,較高的DPI會產生更大的文件大小並需要更長的處理時間。







