如何將 PDF 轉為圖像

如何在 C# 中將 PDF 轉為圖像

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

IronPDF 提供一種簡易方式,可透過 RasterizeToImageFiles 方法將 PDF 頁面轉換為 PNG、JPEG 或 TIFF 等圖像格式,讓您能輕鬆將 PDF 轉圖像功能整合至 .NET 應用程式中,用於縮圖、預覽或圖像處理。

將 PDF 進行光柵化處理,會將其轉換為基於像素的圖像格式,例如 JPEG 或 PNG。 此過程會將每頁內容轉換為由像素組成的靜態圖像。 光柵化技術可實現 PDF 內容顯示、縮圖生成、影像處理以及安全的文件共享。

透過 IronPDF,您可以透過程式化方式將 PDF 轉換為圖片。 無論您需要將 PDF 渲染功能整合至應用程式中、產生圖片預覽、執行基於圖片的操作,還是強化文件安全性,IronPDF 都能提供您所需的工具。 此函式庫支援多種影像格式,並可控制輸出品質、尺寸及頁面選取。 您可以利用 IronPDF 的 Chrome PDF 渲染引擎,以精準呈現原始文件的樣式。

快速入門:使用 IronPDF for .NET 輕鬆實現 PDF 點陣化

使用 IronPDF 的簡易 API 將 PDF 頁面轉換為圖片。 此快速入門範例展示如何載入 PDF 並將每頁匯出為影像檔案,讓您能將柵格化功能整合至您的 .NET 應用程式中。 非常適合用於生成縮圖、強化文件安全性,或為後續處理預先準備檔案。

  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 請複製並執行此程式碼片段。

    IronPdf.PdfDocument.FromFile("input.pdf").RasterizeToImageFiles("page_*.png");
  3. 部署至您的生產環境進行測試

    立即透過免費試用,在您的專案中開始使用 IronPDF

    arrow pointer


如何在 C# 中將 PDF 頁面轉換為圖片?

RasterizeToImageFiles 方法可從 PDF 文件中匯出圖片。 此方法適用於 PdfDocument 物件,無論是匯入本地的 PDF 文件檔案,還是透過 HTML 檔案轉 PDF 轉換指南HTML 字串轉 PDF 轉換指南,或 URL 轉 PDF 轉換指南進行渲染。

此方法提供從 PDF 文件生成圖像的靈活性。 您可以轉換整份文件或特定頁面,控制輸出格式與品質,並為生成的圖片指定自訂尺寸。 這使其非常適合各種應用情境,從建立縮圖預覽到生成用於列印的高解析度圖像皆可。

請注意FileNamePattern 參數必須包含 .png、.jpg 或 .tif 等檔案副檔名。

提示FileNamePattern 中包含的星號 (*) 字元將被替換為對應的頁碼。

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-rasterize.cs
using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render PDF from web URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png");
Imports IronPdf

' Instantiate Renderer
Dim renderer As New ChromePdfRenderer()

' Render PDF from web URL
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

' Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png")
$vbLabelText   $csharpLabel

若需處理更複雜的 PDF 生成情境,請探索將 CSHTML 轉換為 PDF 的方法,或瞭解自訂渲染選項,以便在光柵化前微調您的 PDF 建立流程。

輸出圖片儲存於何處?

檔案總管顯示 PDF 轉換結果:net6.0 建置目錄中包含 5 個 PNG 檔案(wikipage_1-5.png)

預設情況下,輸出影像會儲存至應用程式的當前工作目錄,通常為專案的 bin/Debug 或 bin/Release 資料夾。 您可以指定絕對或相對路徑,將圖片儲存至自訂位置。 例如,@"C:\Output\page_*.png" 會將圖片儲存至 C:\Output 目錄。

若需在輸出圖像中顯示表單欄位值,請在將 PDF 轉換為圖像前先將其扁平化,或將 true 傳遞給該方法的 Flatten 參數。 使用 Flatten 方法後,表單將無法被偵測到。 進一步了解 PDF 扁平化,以更深入掌握相關流程。

請參閱文章《如何透過程式碼填寫與編輯 PDF 表單》,了解如何透過程式碼填寫與編輯 PDF 表單

如何生成高品質的位圖影像?

若要在轉換為位圖時保留原始圖片解析度,請使用 ToBitmapHighQuality 取代 ToBitmapToBitmap 方法會傳回從 JPEG 格式解碼的影像,而 ToBitmapHighQuality 方法則會傳回從 BMP 格式解碼的影像。

BMP 格式儲存原始像素資料,因此能呈現更清晰的影像,但檔案大小較大。 JPEG 採用有損壓縮,能大幅縮小檔案大小,但會導致影像略微模糊。 對於大多數使用情境(例如列印和檢視 PDF),JPEG 畫質已足夠。 若需高度視覺保真度的 PDF 檔案,請參閱我們關於像素級精準 HTML 格式化的指南。

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-to-bitmap-high-quality.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("url.pdf");

var image = pdf.ToBitmapHighQuality();
image[0].SaveAs("output.png");
Imports IronPdf

Dim pdf As PdfDocument = PdfDocument.FromFile("url.pdf")

Dim image = pdf.ToBitmapHighQuality()
image(0).SaveAs("output.png")
$vbLabelText   $csharpLabel

PDF 光柵化有哪些進階選項?

讓我們來探索 RasterizeToImageFiles 方法可用的其他參數。 IronPDF 提供對光柵化流程的全面控制,可根據特定需求進行自訂。

我可以匯出哪些圖像格式?

另一個參數可讓您指定輸出圖片的檔案類型。 支援的格式包括 BMP、JPEG、PNG、GIF、TIFF 及 SVG。 每種類型皆對應一個方法,可直接從 PdfDocument 物件中呼叫:

  • ToBitmap:將 PDF 柵格化為獨立的 AnyBitmap 物件,每頁一個 Bitmap
  • ToJpegImages:將 PDF 頁面渲染為 JPEG 檔案並儲存至磁碟。
  • ToPngImages:將 PDF 頁面渲染為 PNG 檔案並儲存至磁碟。
  • ToTiffImages:將 PDF 頁面渲染為單頁 TIFF 檔案並儲存至磁碟。
  • ToMultiPageTiffImage:將 PDF 頁面渲染為單一的多頁 TIFF 檔案。
  • SaveAsSvg:將 PDF 轉換為 SVG 格式並儲存至指定路徑。
  • ToSvgString:將特定的 PDF 頁面轉換為 SVG 格式,並以字串形式傳回。

若需處理向量圖形,請參閱我們關於在 PDF 生成中使用 SVG 圖形的指南,該指南可與 SVG 匯出功能相輔相成。

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-image-type.cs
using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render PDF from web URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png", IronPdf.Imaging.ImageType.Png);
Imports IronPdf

' Instantiate Renderer
Dim renderer As New ChromePdfRenderer()

' Render PDF from web URL
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

' Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png", IronPdf.Imaging.ImageType.Png)
$vbLabelText   $csharpLabel

如何透過 DPI 設定提升圖片清晰度?

預設的 96 DPI 可能會導致輸出圖像模糊。 為提高清晰度,在光柵化時請指定較高的 DPI 值。 DPI(每英吋點數)會直接影響解析度與檔案大小。較高的 DPI 值雖能產生更清晰的影像,但會導致檔案大小增加。

常見的 DPI 設定:

  • 96 DPI:網頁顯示的標準螢幕解析度
  • 150 DPI:適用於一般文件檢視
  • 300 DPI:適用於高品質列印
  • 600 DPI:Professional級列印品質
:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-dpi.cs
using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render PDF from web URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Export images from PDF with DPI 150
pdf.RasterizeToImageFiles("wikipage_*.png", DPI: 150);
Imports IronPdf

' Instantiate Renderer
Dim renderer As New ChromePdfRenderer()

' Render PDF from web URL
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

' Export images from PDF with DPI 150
pdf.RasterizeToImageFiles("wikipage_*.png", DPI:=150)
$vbLabelText   $csharpLabel

如何將特定頁面轉換為圖片?

您可以指定 PDF 文件中哪些頁面要渲染為圖像。 以下範例會產生 PDF 第 1 至 3 頁的圖片。此功能對於建立特定頁面的縮圖,或在處理大型 PDF 文件時僅需將特定頁面轉為圖片的情況非常實用。

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-page-indexes.cs
using IronPdf;
using System.Linq;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render PDF from web URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Export images from PDF page 1_3
pdf.RasterizeToImageFiles("wikipage_*.png", Enumerable.Range(1, 3));
Imports IronPdf
Imports System.Linq

' Instantiate Renderer
Dim renderer As New ChromePdfRenderer()

' Render PDF from web URL
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

' Export images from PDF page 1 to 3
pdf.RasterizeToImageFiles("wikipage_*.png", Enumerable.Range(1, 3))
$vbLabelText   $csharpLabel

若需進行進階頁面操作,請參閱我們關於新增、複製、刪除頁面或分割 PDF 的指南。

如何控制輸出圖片的尺寸?

將 PDF 文件轉換為圖片時,您可以自訂輸出圖片的高度與寬度。 指定的數值代表在保持原始文件長寬比的前提下,所能達到的最大尺寸。 對於直向 PDF 文件,指定的高度值將保持不變,而寬度會自動調整以維持正確的長寬比。

當圖片必須符合特定尺寸以供網頁顯示、縮圖或其他需要一致尺寸的應用時,此功能至關重要。 保持長寬比可確保內容不會出現拉伸或變形。

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-image-dimensions.cs
using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render PDF from web URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png", 500, 500);
Imports IronPdf

' Instantiate Renderer
Dim renderer As New ChromePdfRenderer()

' Render PDF from web URL
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

' Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png", 500, 500)
$vbLabelText   $csharpLabel

設定尺寸時,長寬比會如何變化?

輸出圖片尺寸採用寬度 x 高度格式(寬度 x 高度)進行指定。 IronPDF 能智慧地處理長寬比保留,確保圖像維持原始比例。

File properties showing PNG output from PDF rasterization: 353x500 pixels, 71.3 KB, with Wikipedia page thumbnail
File properties showing rasterized PDF output: 500x353 PNG, 50.5 KB, created 7/13/2023

PDF 光柵化的其他考量事項

在您的應用程式中實作 PDF 轉圖像功能時,請參考以下最佳實務:

  1. 效能優化:針對大型 PDF 文件或批次處理,請使用非同步與多執行緒技術來提升效能。

  2. 記憶體管理:高解析度的光柵化處理可能會消耗大量記憶體。 請監控應用程式的記憶體使用狀況,並針對大型文件以批次方式處理頁面。

  3. 輸出儲存:針對網頁應用程式,建議探索使用 Azure Blob Storage 來實現高效的圖片儲存與檢索。

  4. 品質與檔案大小:請根據您的使用情境平衡 DPI 設定。 較高的 DPI 雖能提升畫質,但會產生較大的檔案,進而影響儲存空間與頻寬需求。

透過運用 IronPDF 全面的柵格化功能,您可將 PDF 文件轉換為各種圖像格式,同時完全掌控品質、尺寸及輸出規格。 無論是建置文件管理系統、開發預覽功能,還是生成縮圖,IronPDF 皆提供高效能的 PDF 轉圖像轉換工具。

常見問題

如何在 C# 中將 PDF 頁面轉換為圖片?

透過 IronPDF,您可以使用 RasterizeToImageFiles 方法將 PDF 頁面轉換為圖像。只需載入您的 PDF 文件並呼叫此方法,即可將頁面匯出為 PNG、JPEG 或 TIFF 圖像。此方法可在 PdfDocument 物件上使用,並支援將整個文件或特定頁面轉換為自訂尺寸與品質設定的圖像。

PDF 轉換支援哪些圖像格式?

IronPDF 支援將 PDF 轉換為多種圖像格式,包括 PNG、JPEG 和 TIFF。系統會根據您在 RasterizeToImageFiles 方法中指定的檔案副檔名自動判定格式,讓您輕鬆產生偏好的圖像格式。

我可以控制轉換後圖片的品質和尺寸嗎?

是的,IronPDF 在將 PDF 轉為點陣圖時,提供對輸出品質與尺寸的完全控制。您可以指定自訂 DPI 設定以提升清晰度,並根據需求設定具體的輸出尺寸,確保生成的圖像完全符合您的規格要求。

PDF 轉圖像的常見應用情境有哪些?

IronPDF 的光柵化功能非常適合用於生成縮圖、建立文件預覽、實現安全的文件共享(因為圖片難以被編輯)、執行基於圖像的操作,以及將 PDF 渲染功能整合到需要圖像格式的應用程式中。

PDF 轉為圖像的準確度有多高?

IronPDF 採用 Chrome PDF 渲染引擎,以確保渲染結果精準無誤,並完整保留原始文件的樣式。這意味著字型、版面配置、圖形及格式皆能在生成的影像中忠實重現。

我可以將 PDF 中的特定頁面轉換為圖片嗎?

是的,IronPDF 的 RasterizeToImageFiles 方法提供了靈活性,可將 PDF 文件中的特定頁面或頁面範圍轉換為圖像,而不僅限於整個文件。這讓您能夠有選擇性地將所需的頁面導出為圖像。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
Nuget 下載 19,014,616 | 版本: 2026.5 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎? PM > Install-Package IronPdf
執行範例 觀看您的 HTML 轉為 PDF。