跳過到頁腳內容
使用 IRONOCR

C# Convert PDF to Image:完整開發人員指南

在 C# 中將 PDF 轉換為圖像是很常見的做法。 您可能需要縮圖、網頁預覽,甚至是存檔副本。 使用IronPDF ,這個過程就變得輕而易舉了。 這要歸功於它的RasterizeToImageFiles方法,只需幾行程式碼即可將 PDF 檔案轉換為 PNG 影像、JPEG 影像、TIFF 影像或 BMP 等影像檔案。

本文將詳細介紹如何將 PDF 檔案轉換為 PNG、JPG、TIFF 或 BMP 格式。您將了解如何處理整個文件、特定頁面範圍,甚至是渲染為 PDF 的網頁。 到最後,你將擁有一個可靠的工作流程,可以在 .NET 專案中從 PDF 產生高品質影像

為什麼要在 C# 中將 PDF 文件轉換為圖像?

將 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檔案。檔案名稱中的星號(*)會自動替換為頁碼。 為了正確管理資源,請將PdfDocumentusing語句包裹起來,以確保資源釋放。

運行程式碼後,我們可以在輸出目錄中看到,儘管我們的 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 內容更容易分享與顯示。

使用 IronPDF 將 PDF 轉換成圖片需要多少行代碼?

利用 IronPDF,您只需要幾行程式碼,就可以利用 `RasterizeToImageFiles` 方法將 PDF 轉換成圖片。

Kannaopat Udonpant
軟體工程師
在成為軟體工程師之前,Kannapat 完成了日本北海道大學的環境資源博士學位。在攻讀學位期間,Kannapat 也成為生物製造工程系車輛機器人實驗室的成員。2022 年,他利用自己的 C# 技能加入 Iron Software 的工程團隊,主要負責 IronPDF 的開發。Kannapat 非常重視他的工作,因為他可以直接向撰寫 IronPDF 使用的大部分程式碼的開發者學習。除了同儕學習之外,Kannapat 也很享受在 Iron Software 工作的社交生活。不寫程式碼或文件時,Kannapat 通常會用 PS5 玩遊戲或重看《最後的我們》。