Python PDF 轉換為圖像 Copy for LLMsCopy for LLMs Copy page as Markdown for LLMs
# Python PDF 轉換為圖像
PDF到圖像的轉換是Python應用程式中的一個常見需求。 開發人員使用它來生成文件縮略圖、網頁預覽,並將PDF內容輸入至圖像處理流程中。 [IronPDF for Python](https://ironpdf.com/python/docs/) 提供`RasterizeToImageFiles`方法,該方法可以將任何PDF文件(或URL)轉換為JPEG、PNG或TIFF圖像文件,並具有可配置的DPI和尺寸。
本指南展示了如何在Python中將PDF文件轉換為圖像,如何控制輸出質量,以及如何調整製成圖像的尺寸以符合佈局限制。
快速入門:將PDF轉換為圖像
1. 安裝IronPDF:`pip install ironpdf`
2. 載入PDF文件:`pdf = PdfDocument.FromFile("document.pdf")`
3. 將每個頁面轉換為PNG:`pdf.RasterizeToImageFiles("output/*.png", DPI=96)`
```python
#: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)
```
<div class="hsg-featured-snippet">
<h3>如何在Python中將PDF轉換為圖像</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="download-modal" href="#download-modal">安裝IronPDF Python程式庫</a></li>
<li>使用<code>PdfDocument.FromFile</code>載入PDF或使用<code>ChromePdfRenderer</code>從URL中渲染</li>
<li>調用<code>RasterizeToImageFiles</code>,並使用輸出路徑模式(例如<code>output/*.png</code>)</li>
<li>設置<code>DPI</code>以控制圖像質量——較高的值產生更清晰的輸出</li>
<li>使用<code>ImageMaxWidth</code>和<code>ImageMaxHeight</code>限制輸出尺寸</li>
</ol>
</div>
## 為什麼開發人員將PDF轉換為圖像?
PDF到圖像的轉換可以解決軟體開發中的幾個實際問題。 最常見的需求是生成預覽——在網頁介面或移動應用程式中顯示PDF文件的縮略圖,而不強迫使用者下載並打開完整文件。
其他常見的使用場景包括:
- **機器學習流程**:OCR模型、佈局分析工具和計算機視覺系統接受圖像輸入,而不是PDF
- **檔案和合規性**:與原始PDF一起儲存視覺快照,確保即使PDF檢視器發生變化也能長期可讀
- **報告嵌入**:將特定的PDF頁面作為圖像包含在其他文件或電子郵件範本中
- **自動化測試**:比較渲染的頁面快照以檢測PDF輸出的視覺回歸
Python標準庫不包含原生的PDF到圖像功能。 工具如[`pdf2image`](https://pypi.org/project/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不會自動建立它。
```python
#: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在花費較大的文件大小和較長處理時間下生成更清晰的圖像。標準值:
<table class="content__data-table" data-content-table>
<caption>DPI值和典型使用個案</caption>
<thead>
<tr><th>DPI</th><th>典型使用</th></tr>
</thead>
<tbody>
<tr><td>72</td><td>螢幕解析度,快速處理</td></tr>
<tr><td>96</td><td>標準網路質量</td></tr>
<tr><td>150</td><td>良好的列印質量</td></tr>
<tr><td>300</td><td>高質量列印輸出</td></tr>
</tbody>
</table>
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/ironpdf-java/howto/java-pdf-to-image/java-pdf-to-image-5.webp" alt="檔案總管顯示由 RasterizeToImageFiles 從 11 頁 PDF 產生的編號 PNG 輸出檔案(1.png 至 11.png)" class="img-responsive add-shadow" />
<p class="content__image-caption">每個PDF頁面輸出為PNG文件的目錄</p>
</div>
</div>
如果輸出圖像顯得模糊,則增加`DPI`值。 處理300 DPI跨50頁文件的時間明顯長於96 DPI--根據實際質量需求選擇使用案例。
{t:對於網路縮圖生成,96 DPI已經足夠並保持文件大小小。 保留150-300 DPI用於圖像將列印或全尺寸顯示的情況。
### 如何將特定頁面範圍轉換為圖像?
要僅轉換一個頁面子集,將頁面索引作為第二個參數傳遞給`RasterizeToImageFiles`。 頁面索引是從零開始的整數。
```python
#: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的圖像](https://ironpdf.com/how-to/extract-text-and-images/)的工作流,IronPDF提供了獨立的提取方法。
## 如何將URL轉換為圖像?
IronPDF可以渲染網頁為PDF,然後在一個工作流內將該PDF轉換為圖像。 使用`RasterizeToImageFiles`。 此方法建立了網頁的視覺存檔,或為基於網頁的內容生成預覽圖像,而不需要單獨的截圖工具。
```python
#: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教程](https://ironpdf.com/python/tutorials/html-to-pdf/)直接提供預渲染的標記。 結果PDF可以使用上述相同的方法進行光柵化。
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/ironpdf-java/howto/java-pdf-to-image/java-pdf-to-image-6.webp" alt="檔案總管顯示由 IronPDF 將 URL 轉譯為 PDF 所產生的 5 個 PNG 檔案(1.png 至 5.png)" class="img-responsive add-shadow" />
<p class="content__image-caption">從URL呈現的圖像經由IronPDF生成</p>
</div>
</div>
## 如何控制輸出圖像的尺寸?
預設情況下,`RasterizeToImageFiles`生成按頁面原始尺寸並乘以DPI因子縮放的圖像。 要限制輸出大小,設置`ImageMaxHeight`,均以像素為單位。
IronPDF根據`ImageMaxHeight`值保持原始縱橫比。 即使指定的寬度和高度與源頁面具有不同的比例關係,輸出不會被拉伸或變形。
```python
#: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會生成適合縮略圖顯示或基於卡片的使用者介面佈局的圖像。 調整這些值以符合應用程式設計所需的尺寸。 為產生被光柵化的PDF內容,IronPDF還支持[從Python建立PDFs](https://ironpdf.com/python/how-to/python-create-pdf/)和[合併多個PDF](https://ironpdf.com/python/how-to/python-merge-pdf/)進行轉換。
{n:縱橫比基於高度維持。 如果源頁面比高還寬,則生成的圖像可能比`ImageMaxWidth`窄。 設計版面以處理可變寬度的縮略圖。
## PDF轉換為圖像的下一步是什麼?
本指南涵蓋了三個核心工作流程:將PDF文件轉換為圖像、將URL轉換為圖像,以及控制圖像的尺寸和質量。 IronPDF支持JPEG、JPG、PNG、TIFF和其他格式,通過相同的`RasterizeToImageFiles`方法。 更改輸出路徑模式中的文件擴展名以切換格式。
對於進一步的自動化,請考慮以下步驟:
- **批量處理**:迴圈遍歷PDF的目錄,依次轉換每一個,或使用Python的`concurrent.futures`模組進行並行處理
- **選擇性提取**:利用頁索引參數提取僅與使用場景相關的頁面
- **圖像管道整合**:將輸出文件提供給[PIL/Pillow](https://pypi.org/project/Pillow/)或[OpenCV](https://pypi.org/project/opencv-python/)進行進一步的處理,如裁剪、註釋或格式標準化
- **壓縮前的轉換**:利用IronPDF的[PDF壓縮](https://ironpdf.com/python/how-to/python-compress-pdf/)在光柵化大型文件之前減小文件尺寸
- **格式工作流程**:[程式設計地填寫PDF表單](https://ironpdf.com/python/how-to/python-fill-pdf-form/),然後將完成的表單頁面轉換為圖像以供審核或歸檔
要繼續使用IronPDF進行構建,探索[IronPDF for Python文件](https://ironpdf.com/python/docs/)和[光柵化PDF為圖像的範例](https://ironpdf.com/python/examples/rasterize-a-pdf-to-images/)。
[開始免費的IronPDF for Python 30天試用](#trial-license)以便在生產中使用這些功能。 準備好部署時,[查看授權選項](#licensing)以選擇符合專案規模的方案。
進一步閱讀:[將PDF轉換為圖像](https://ironpdf.com/python/examples/rasterize-a-pdf-to-images/)
Ask ChatGPT about this page
Ask Gemini about this page
Ask Perplexity about this page
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/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
如何在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/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在花費較大的文件大小和較長處理時間下生成更清晰的圖像。標準值:
每個PDF頁面輸出為PNG文件的目錄
如果輸出圖像顯得模糊,則增加DPI值。 處理300 DPI跨50頁文件的時間明顯長於96 DPI--根據實際質量需求選擇使用案例。
{t:對於網路縮圖生成,96 DPI已經足夠並保持文件大小小。 保留150-300 DPI用於圖像將列印或全尺寸顯示的情況。
如何將特定頁面範圍轉換為圖像?
要僅轉換一個頁面子集,將頁面索引作為第二個參數傳遞給RasterizeToImageFiles。 頁面索引是從零開始的整數。
#: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轉換為圖像。 使用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可以使用上述相同的方法進行光柵化。
從URL呈現的圖像經由IronPDF生成
如何控制輸出圖像的尺寸?
預設情況下,RasterizeToImageFiles生成按頁面原始尺寸並乘以DPI因子縮放的圖像。 要限制輸出大小,設置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會生成適合縮略圖顯示或基於卡片的使用者介面佈局的圖像。 調整這些值以符合應用程式設計所需的尺寸。 為產生被光柵化的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轉換為圖像
常見問題 使用pip install ironpdf安裝IronPDF,然後使用PdfDocument.FromFile("file.pdf")載入PDF,並調用RasterizeToImageFiles("output/*.png", DPI=96)。這會將每頁一張圖像寫入指定目錄。
IronPDF支持PNG、JPEG、JPG和TIFF輸出格式。在傳遞給RasterizeToImageFiles的輸出路徑模式中更改文件擴展名以指定格式,例如*.jpg表示JPEG或*.tiff表示TIFF。
在RasterizeToImageFiles中使用DPI參數。96的值為標準網頁質量。150適合印刷預覽。300產生高質量印刷輸出。較高的DPI會增加文件大小和處理時間。
可以。以像素為單位傳遞ImageMaxWidth和ImageMaxHeight給RasterizeToImageFiles。IronPDF根據高度值保留長寬比,這樣圖像不會失真。
將零基的頁面索引列表作為第二個參數傳遞給RasterizeToImageFiles。例如,[0, 1, 2]僅轉換前三頁。
可以。使用ChromePdfRenderer調用RenderUrlAsPdf與URL,它返回PdfDocument。然後調用該文件上的RasterizeToImageFiles來生成每個渲染頁面的圖像文件。
不需要。IronPDF包含自己基於Chromium的渲染引擎,不需要Poppler、Ghostscript或任何外部二進製文件安裝。一個pip install ironpdf就足以開始使用。
模糊的輸出是由低DPI值引起的。將其從預設的96增加到150或300以獲得更清晰的結果。注意,較高的DPI會產生更大的文件大小並需要更長的處理時間。
Common DPI values are 72 for fast processing and screen resolution, 96 for standard web quality, 150 for good print quality, and 300 for high-quality print output.
Yes, IronPDF provides separate extraction methods to work with images already embedded in PDFs, which can be useful for specific workflows focusing on image content.
技術作家
Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。
...
閱讀更多