如何將 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 在 .NET 中輕鬆實現 PDF 光柵化

使用 IronPDF 簡單的 API 將 PDF 頁面轉換成圖片。 本快速入門示範如何載入 PDF 並將每頁匯出為影像檔案,讓您可以將光柵化功能整合到您的 .NET 應用程式中。 非常適合用於產生縮圖、加強文件安全性,或準備檔案作進一步處理。

  1. 使用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 文件中匯出圖片。 無論是在本機匯入 PDF 文件檔案,或是從 HTML 檔案轉換為 PDF 的指南HTML 字串轉換為 PDF 的指南,或 URL 轉換為 PDF 的指南渲染 PDF 文件檔案,都可在 PdfDocument 物件上使用此方法。

此方法可靈活地從 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 方法後,表單將無法被偵測到。 瞭解更多關於 flattening PDFs 的資訊,以便更好地瞭解製作過程。

在文章中學習如何以程式化的方式填寫和編輯 PDF 表單:" 如何填寫和編輯 PDF 表單"。

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

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

BMP 格式儲存原始像素資料,因此影像更清晰,但檔案大小較大。 JPEG 使用有損壓縮,以輕微模糊為代價,大幅減少檔案大小。 對於列印和檢視 PDF 等大多數使用情況,JPEG 圖像品質已經足夠。 對於需要高視覺保真度的 PDF,請參考我們的 pixel-perfect 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 設定提高影像清晰度?

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

常見的 DPI 設定:

  • 96 DPI:網頁顯示的標準螢幕解析度
  • 150 DPI:適合一般文件檢視
  • 300 DPI:適合印刷的高品質
  • 600 DPI:專業的列印品質
: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

如需進階頁面操作,請參閱我們的 新增、複製和刪除頁面 拆分 PDFs 指南。

如何控制輸出影像的尺寸?

將 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 高)。 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 文件或批次處理,請使用 async 和多執行緒技術來提升效能。

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

3.輸出儲存:對於 Web 應用程式,請探索 使用 Azure Blob Storage 來進行有效率的影像儲存與擷取。

4.品質 vs. 檔案大小:根據您的使用情況平衡 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 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 18,560,885 | 版本: 2026.4 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronPdf
執行範例 觀看您的 HTML 變成 PDF。