跳至頁尾內容
USING IRONOCR

C# 將 PDF 轉換為圖像:完整開發者指南

將PDF轉換為C#中的圖像是非常常見的。 您可能需要縮略圖、網頁預覽,甚至是存檔副本。 使用IronPDF,此過程變得輕而易舉。 這要歸功於其RasterizeToImageFiles方法,該方法讓您可以只需幾行程式碼即可將PDF文件轉換為圖像文件,如PNG圖像、JPEG圖像、TIFF圖像或BMP。

在本文中,我們將逐步了解如何將PDF轉換為PNG、JPG、TIFF或BMP。您將看到如何處理完整的文件、特定頁面範圍,甚至是渲染為PDF的網頁。 最終,您將擁有在您的.NET項目中從PDF生成高質量圖像的穩健工作流程。

Why Convert PDF Documents to Images in C#?

將PDF頁面轉換為圖像在現代.NET Framework或.NET應用程式中具有實際應用。文件管理系統需要縮略圖來快速視覺導航,而Web應用程式從圖像格式中受益,以獲得更好的瀏覽器相容性和更快的載入速度。

此外,將PDF轉換為圖像確保您的PDF在任何有限PDF庫支持的平台上看起來正確。 無論您處理的是多頁面還是單頁面,IronPDF只需幾行程式碼即可處理此過程,無需擔心錯誤或複雜的渲染。

開始使用IronPDF

首先,在Visual Studio中建立一個新的C#控制台應用程式,並通過NuGet包管理器安裝IronPDF:

Install-Package IronPdf

C#將PDF轉換為圖像:完整開發者指南:圖像1 - 通過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");
    }
}
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
$vbLabelText   $csharpLabel

此程式碼將PDF的每一頁轉換為單獨的PNG文件。文件名模式中的星號(*)會自動替換為頁碼。 為了正確管理資源,將using語句中以確保處理。

運行程式碼後,我們可以在輸出目錄中看到,儘管我們的PDF包含多個頁面,我們的程式碼並未指定要轉換哪些頁面,因此每個頁面都被保存為單獨的圖像文件:

C#將PDF轉換為圖像:完整開發者指南:圖像2 - 轉換所有頁面的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
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)
$vbLabelText   $csharpLabel

請注意頁面索引從0開始,因此首頁的pageIndex = 0。

C#將PDF轉換為圖像:完整開發者指南:圖像3 - 指定的PDF頁面轉換為圖像

如何控制圖像質量?

圖像質量直接影響文件大小和視覺清晰度。 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);
' 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)
$vbLabelText   $csharpLabel

預設96 DPI適用於基本預覽,但提高到150-300 DPI以獲取列印質量的圖像。 更高的DPI值產生更清晰的圖像,但文件大小較大。

C#將PDF轉換為圖像:完整開發者指南:圖像4 - 高質量轉換後的PDF與原始PDF

支持哪些圖像格式?

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);
' 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)
$vbLabelText   $csharpLabel

選擇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);
// 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)
$vbLabelText   $csharpLabel

此方法完美捕捉動態網頁內容,保持所有樣式和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);
    }
}
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 pdfPath
$vbLabelText   $csharpLabel

結論

IronPDF讓您能在C#中簡單地將PDF文件轉換為圖像文件。 無論您是建立縮略圖、PNG圖像、JPEG圖像,還是處理多頁面的TIFF轉換,RasterizeToImageFiles方法都能處理。

您可以自定義輸出格式,通過DPI設置控制圖像質量,甚至可以將渲染為PDF的網頁轉換為圖像,這一切都不需要復雜的設置。要了解更多高級PDF功能,請查閱IronPDF的豐富文件,其中包含範例程式碼和說明,以探索IronPDF的所有功能。

準備在您的C#應用程式中實施PDF到圖像的轉換了嗎? 從免費試用開始,以探索IronPDF的全部功能,包括30天無水印的生產測試。 需要大規模轉換文件嗎? 考慮商業授權以獲得無限次轉換和優先支援。

常見問題

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

您可以使用 IronPDF 程式庫在 C# 中將 PDF 轉換為圖片。使用 `RasterizeToImageFiles` 方法,您可以輕鬆地將 PDF 文件轉換為 PNG、JPEG、TIFF 或 BMP 等圖片格式。

IronPDF 在進行 PDF 轉換時支持哪些圖片格式?

IronPDF 在轉換 PDF 時支持多種圖片格式,包括 PNG、JPEG、TIFF 和 BMP。

可以使用 IronPDF 從 PDF 建立縮略圖嗎?

是的,您可以使用 IronPDF 將 PDF 轉換為較小尺寸的圖片(如 JPEG 或 PNG),以從 PDF 文件建立縮略圖。

IronPDF 可以將整個 PDF 文件轉換為圖片嗎?

是的,IronPDF 可以將整個 PDF 文件轉換為圖片,允許您將每一頁保存為單獨的圖片文件。

IronPDF 中的 `RasterizeToImageFiles` 方法是什麼?

IronPDF 中的 `RasterizeToImageFiles` 方法用於將 PDF 文件轉換為多種圖片格式(如 PNG、JPEG、TIFF 和 BMP),使建立 PDF 內容的圖像表現形式變得容易。

為什麼我需要在 C# 中將 PDF 轉換為圖片?

將 PDF 轉換為圖片對於建立縮略圖、網頁預覽或存檔用途非常有用,從而更方便地分享和展示 PDF 內容。

using IronPDF 將 PDF 轉換為圖像需要多少行程式碼?

您可以利用 `RasterizeToImageFiles` 方法用幾行程式碼輕鬆地使用 IronPDF 將 PDF 轉換為圖片。

Kannaopat Udonpant
軟體工程師
在成為軟體工程師之前,Kannapat在日本北海道大學完成了環境資源博士學位。在攻讀學位期間,Kannapat還成為車輛機器人實驗室的一員,該實驗室隸屬於生產工程系。在2022年,他憑藉C#技能加入了Iron Software的工程團隊,專注於IronPDF。Kannapat珍視他的工作,因為他能直接向撰寫大部分IronPDF程式碼的開發者學習。除了同儕學習,Kannapat還喜歡在Iron Software工作的社交方面。不寫程式碼或文件時,Kannapat通常在他的PS5上玩遊戲或重看The Last of Us。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話