
HTML到PDF轉換器C#開源(.NET 庫比較)
在 C# 中將 PDF 轉換為圖像是很常見的。 您可能需要縮圖、網頁預覽,甚至是存檔副本。 使用 IronPDF,這個過程變得很簡單。 這要歸功於它的 RasterizeToImageFiles 方法,讓您只需幾行程式碼即可將 PDF 文件轉換為圖像文件,如 PNG 圖像、JPEG 圖像、TIFF 圖像或 BMP。
在本文中,我們將講解如何將 PDF 轉換為 PNG、JPG、TIFF 或 BMP。您將看到如何處理整個文件、特定頁範圍,甚至是作為 PDF 呈現的網頁。 最後,您將擁有一個穩健的工作流程,以在您的 .NET 專案中 生成高品質的圖像。
Why Convert PDF Documents to Images in C#?
將 PDF 頁面轉換為圖像在現代的 .NET Framework 或 .NET 應用中有實際應用。文件管理系統需要縮圖以便快速視覺導航,而網頁應用則利用圖像格式來提升瀏覽器相容性和加速載入速度。
此外,將 PDF 轉換為圖像確保您的 PDF 在缺乏 PDF 程式庫支援的任何平台上顯示正確。 無論您處理的是多個頁面還是單個頁面,IronPDF 僅需少數程式碼行即可完成此過程,無需擔心錯誤或複雜的呈現。
IronPDF入門
首先,在 Visual Studio 中建立一個新的 C# 主控台應用並透過 NuGet 套件管理器安裝 IronPDF:

IronPDF 支援 .NET Framework、.NET Core 和 .NET 5+,確保您的 PDF 到圖像的工作流程與您所使用的任何版本的 .NET 相容。 安裝後,您可以開始在程式中將 PDF 頁面轉換為圖像文件。
如何將 PDF 頁面轉換為圖像文件?
轉換 PDF 為圖像的最簡單方法是載入文件並呼叫 RasterizeToImageFiles 方法:
using IronPdf;
class Program
{
static void Main(string[] args)
{
// Load an existing PDF document
var pdfDocument = PdfDocument.FromFile("report.pdf");
// Convert all pages to PNG images
pdfDocument.RasterizeToImageFiles(@"C:\images\page_*.png");
}
}Imports IronPdf
Class Program
Shared Sub Main(args As String())
' Load an existing PDF document
Dim pdfDocument = PdfDocument.FromFile("report.pdf")
' Convert all pages to PNG images
pdfDocument.RasterizeToImageFiles("C:\images\page_*.png")
End Sub
End Class這段程式碼將 PDF 的每一頁轉換為一個單獨的 PNG 文件。文件名模式中的星號 (*) 會自動被頁碼替換。 為了妥善管理資源,請將 PdfDocument 包含在 using 語句中以確保釋放。
執行程式碼後,我們可以在輸出目錄中看到,即使我們的 PDF 內含多個頁面,我們的程式碼未指定要轉換的頁面,因此每頁都已被儲存為一個獨立的圖像文件:

為了轉換指定頁面,請指定頁碼範圍:
// Specify the page indexes for conversion
int[] pageIndexes = new[] { 0, 1, 2 };
// Convert pages 1-3 to JPG images
pdfDocument.RasterizeToImageFiles(@"C:\images\page_*.jpg", pageIndexes);' Specify the page indexes for conversion
Dim pageIndexes As Integer() = {0, 1, 2}
' Convert pages 1-3 to JPG images
pdfDocument.RasterizeToImageFiles("C:\images\page_*.jpg", pageIndexes)請注意,頁面索引從 0 開始,因此第一頁的 pageIndex = 0。

如何控制圖像質量?
圖像質量直接影響文件大小和視覺清晰度。 IronPDF 允許您透過 DPI (每英寸點數) 設定控制這一點:
// High-quality conversion at 300 DPI
pdfDocument.RasterizeToImageFiles(@"C:\images\high_quality_*.png", DPI: 300);
// Web-optimized at 150 DPI
pdfDocument.RasterizeToImageFiles(@"C:\images\web_*.jpg", DPI: 150);' High-quality conversion at 300 DPI
pdfDocument.RasterizeToImageFiles("C:\images\high_quality_*.png", DPI:=300)
' Web-optimized at 150 DPI
pdfDocument.RasterizeToImageFiles("C:\images\web_*.jpg", DPI:=150)預設的 96 DPI 適用於基本預覽,但增加為 150-300 DPI 可得到列印品質的圖像。 較高的 DPI 值會產生更清晰的圖像,但文件大小也會更大。

支援哪些圖像格式?
IronPDF 通過 ImageType 參數支援多種圖像格式:
// Convert to different formats
pdfDocument.RasterizeToImageFiles(@"C:\images\output_*.png", IronPdf.Imaging.ImageType.Png);
pdfDocument.RasterizeToImageFiles(@"C:\images\output_*.jpg", IronPdf.Imaging.ImageType.Jpeg);
pdfDocument.RasterizeToImageFiles(@"C:\images\output_*.tiff", IronPdf.Imaging.ImageType.Tiff);
pdfDocument.RasterizeToImageFiles(@"C:\images\output_*.bmp", IronPdf.Imaging.ImageType.Bitmap);' Convert to different formats
pdfDocument.RasterizeToImageFiles("C:\images\output_*.png", IronPdf.Imaging.ImageType.Png)
pdfDocument.RasterizeToImageFiles("C:\images\output_*.jpg", IronPdf.Imaging.ImageType.Jpeg)
pdfDocument.RasterizeToImageFiles("C:\images\output_*.tiff", IronPdf.Imaging.ImageType.Tiff)
pdfDocument.RasterizeToImageFiles("C:\images\output_*.bmp", IronPdf.Imaging.ImageType.Bitmap)選擇 PNG 用於需要透明背景的圖像,選擇 JPEG 用於照片和網頁內容,選擇 TIFF 用於存檔,選擇 BMP 當需要未壓縮的圖像時。 IronPDF API 參考提供了所有支援的 ImageType 選項詳細資訊。
如何處理進階情境?
IronPDF 擅長處理複雜的 PDF 到圖像轉換情境。 其中一個特別有用的功能是通過 PDF 呈現直接將網頁轉換為圖像。 有關更多 HTML 轉換選項,請查看 HTML 到 PDF 轉換指南:
// Convert a webpage to images
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument webPdf = renderer.RenderUrlAsPdf("https://apple.com");
webPdf.RasterizeToImageFiles(@"C:\images\webpage_*.png", DPI: 200);Imports IronPdf
' Convert a webpage to images
Dim renderer As New ChromePdfRenderer()
Dim webPdf As PdfDocument = renderer.RenderUrlAsPdf("https://apple.com")
webPdf.RasterizeToImageFiles("C:\images\webpage_*.png", DPI:=200)這種方法完美捕捉動態網頁內容,保留所有樣式和由 JavaScript 呈現的元素。
對於批次處理多個 PDF,實現一個簡單的迴圈:
string[] pdfFiles = Directory.GetFiles(@"C:\pdfs", "*.pdf");
foreach (string pdfPath in pdfFiles)
{
using (var pdf = PdfDocument.FromFile(pdfPath))
{
string outputPath = Path.Combine(@"C:\images",
Path.GetFileNameWithoutExtension(pdfPath) + "_*.png");
pdf.RasterizeToImageFiles(outputPath);
}
}Imports System.IO
Dim pdfFiles As String() = Directory.GetFiles("C:\pdfs", "*.pdf")
For Each pdfPath As String In pdfFiles
Using pdf = PdfDocument.FromFile(pdfPath)
Dim outputPath As String = Path.Combine("C:\images", Path.GetFileNameWithoutExtension(pdfPath) & "_*.png")
pdf.RasterizeToImageFiles(outputPath)
End Using
Next結論
IronPDF 讓您在 C# 中輕鬆將 PDF 文件轉換為圖像文件。 無論您是在建立縮略圖、PNG 圖像、JPEG 圖像,或是處理多個頁面的 TIFF 轉換,RasterizeToImageFiles 方法都能處理一切。
您可以自訂輸出格式、透過 DPI 設置控制圖像質量,甚至將作為 PDF 呈現的網頁轉換為圖像,所有這些都無需複雜的設定。如需更多進階的 PDF 特性,查看 IronPDF 的豐富文件,其中包含範例程式碼和說明,幫助您探索 IronPDF 的全部功能。
準備好在您的 C# 應用中實現 PDF 到圖像的轉換了嗎? 開始免費試用,享受無限制的轉換和優先支援。

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。
相關文章


