跳過到頁腳內容
使用IRONPDF

C#中的PDF轉換(開發者教程)

C# 中的 PDF 轉換(開發者教學)

IronPDF 讓您只需幾行程式碼,即可在 C# 應用程式中將文件轉換為 PDF。 它能在 Windows、Linux 和 macOS 平台上無縫處理 HTML 轉 PDF 及圖片轉 PDF 的轉換作業。

本文將向您展示如何使用 IronPDF適用於 .NET 和 .NET Core PDF 函式庫)進行 PDF 轉換。 無論您使用 WindowsLinuxmacOS,IronPDF 皆提供跨平台支援,滿足您所有的 PDF 需求。 此函式庫提供詳盡的文件教學指南,助您快速上手。

什麼是 IronPDF?

  1. PDF 生成:可透過 C# 程式碼輕鬆從各種來源(包括 HTML、圖片、文字及現有檔案)建立 PDF 文件
  2. HTML 轉 PDF:將 HTML 內容(包括網頁或 HTML 範本)轉換為高品質的 PDF 檔案,並能完全掌控樣式與格式。 3.影像轉 PDF :將影像檔案(如 JPEG、PNG 或 BMP)轉換為 PDF 文檔,以便輕鬆地將影像整合到 PDF 報告和文件中。
  3. PDF 處理:全面的 PDF 編輯功能,包括從 PDF 中擷取文字合併與分割 PDF、旋轉,以及新增、修改或移除內容與註解。
  4. PDF 表單:建立、填寫及從 PDF 表單中擷取資料,適用於需要互動式表單與資料收集的應用程式。

無論您需要從頭開始生成 PDF、將 HTML 頁面圖片或現有文件轉換為 PDF 格式,還是需要處理現有的 PDF 文件,IronPDF 皆提供直觀的 API 來完成這些任務。 此函式庫採用 Chrome 渲染引擎,確保您的 HTML 轉換效果完全符合預期。 如需完整功能清單,請參閱 IronPDF 功能概覽網站。

  1. PDF 生成透過程式碼從 HTML、圖片、文字及檔案建立 PDF 檔案。 支援自訂尺寸方向邊距。 亦支援多國語言
  2. HTML 轉 PDF將 HTML 轉為 PDF 並完整保留樣式。 支援 CSS 媒體查詢JavaScript網頁字型。 支援 WebGL響應式設計
  3. 圖片轉 PDF:將 JPEG、PNG 或 BMP 檔案轉換為 PDF。 支援 TIFF 轉換SVG 圖形。 可嵌入 DataURI 格式的圖片
  4. PDF 處理:透過文字擷取合併/分割註解功能編輯 PDF 檔案。 此外,還需執行文字遮蔽添加水印管理元資料
  5. PDF 表單:建立並填寫 PDF 表單。 支援表單的建立編輯。 可將 PDF 轉換為靜態內容。

如何建立新的 Visual Studio 專案?

在深入探討程式碼之前,讓我們先建立一個新的 C# 主控台應用程式專案。 如果您是 .NET 開發的新手,快速入門指南中的額外設定提示可能會對您有所幫助。 F# 開發人員亦可運用函數式程式設計方法來使用 IronPDF。

  1. 開啟 Visual Studio,並透過點選"檔案">"新增">"專案"來建立新專案。

    Visual Studio 檔案選單已展開,顯示各種選項,包括新專案、複製儲存庫、開啟檔案/專案和儲存選項以及鍵盤快捷鍵Visual Studio 的"檔案"選單提供快速存取關鍵的專案管理功能,從建立新專案到從版本控制系統複製儲存庫皆可一應俱全。

  2. 會出現一個新視窗。 選擇"主控台應用程式"範本,並點擊底部的"下一步"。 此範本非常適合用於學習 PDF 基礎知識,之後再進階至 Blazor 應用程式ASP.NET MVC 等複雜專案類型。

    Visual Studio 的"建立新專案"對話方塊顯示已選擇控制台應用程式模板,用於建立支援 Windows、Linux 和 macOS 的 .NET Core 命令列應用程式。 Visual Studio 中的"主控台應用程式"範本,為使用 .NET Core 建立跨平台命令列應用程式提供了起點。

  3. 在下一視窗中,為您的專案命名並選擇儲存位置,然後按一下"下一步"。 建議將專案整理至專用資料夾中,以便輕鬆存取程式碼範例範例檔案

    Visual Studio 的"設定新專案"對話方塊顯示了名為"PDF 轉換"的控制台應用程式的設置,包括專案位置和解決方案設定。 步驟 2:為 PDF 轉換應用程式設定新的 Console Application 專案,並採用適當的命名與位置設定。

  4. 選擇目標框架,然後點擊"建立"。 針對現代應用程式,建議使用 .NET 6 或更新版本以獲得最佳效能與支援。 最新版本提供了更佳的效能非同步功能

    Visual Studio 專案建立對話方塊顯示"附加資訊"頁面,其中已選擇 .NET 5.0 作為控制台應用程式的目標框架。 在 Visual Studio 中建立新主控台應用程式時的最後一步,即選擇目標框架。 請注意,.NET 5.0 已被標記為"已停止支援"——建議在當前專案中使用 .NET 6.0 或 .NET 8.0。

您的專案已準備就緒。 現在來安裝 IronPDF。

如何安裝 IronPDF?

IronPDF 提供多種安裝方式。 此處我們將使用 NuGet 套件管理員。 您可以探索適用於特定情境的高階安裝方法,包括 Windows 安裝程式選項及 Linux 設定

  1. 在 Visual Studio 中,開啟"工具"選單,並將游標懸停於"NuGet 套件管理員"上。
  2. 點擊"管理解決方案的 NuGet 套件"。

    Visual Studio 工具選單已展開,顯示 NuGet 套件管理器子選單,其中包含"套件管理器控制台"、"管理解決方案的 NuGet 套件"和"套件管理器設定"等選項。 Visual Studio 的"工具"選單提供 NuGet 套件管理員的功能,這些功能對於管理 .NET 專案中的外部函式庫和依賴項至關重要

  3. 會出現一個新視窗。 點擊"瀏覽"標籤,並搜尋"IronPDF"。
  4. 選取 IronPDF 並點擊"安裝"。 若部署規模較小,建議考慮使用 IronPdf.Slim
  5. 您也可以透過套件管理主控台進行安裝:

    Install-Package IronPdf

或直接從 IronPDF NuGet 頁面下載。 關於容器,請參閱 Docker 部署指南,或將 IronPDF 作為遠端容器執行。

如何使用 IronPDF 將檔案轉換為 PDF?

讓我們來探討如何將不同文件格式轉換為 PDF。 IronPDF 提供豐富的渲染選項以自訂輸出效果,包括自訂日誌記錄效能監控

  1. 將 HTML 文件轉換為 PDF 文檔
  2. 將影像轉換為 PDF 文檔

如何將 HTML 檔案轉換為 PDF?

使用 IronPDF 將 HTML 轉換為 PDF 非常簡單。 此函式庫支援諸如頁首與頁尾分頁符自訂 CSS 等進階功能。 您可處理 Bootstrap 版面配置,並為需驗證的內容實作 Cookie 管理

以下是將 HTML 檔案轉換為 PDF 的方法:

using IronPdf;

// Create an instance of the ChromePdfRenderer class.
var renderer = new ChromePdfRenderer();

// Optional: Configure rendering options for better output
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Enable JavaScript execution for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;

// Set print CSS media type for proper formatting
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

// Add custom headers for authenticated content
renderer.RenderingOptions.CustomCssUrl = "___PROTECTED_URL_142___";

// Configure viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1024;

// Render the HTML file as a PDF document.
var pdf = renderer.RenderHtmlFileAsPdf("invoice.html");

// Optional: Add metadata
pdf.MetaData.Author = "Your Company";
pdf.MetaData.Keywords = "invoice, pdf, conversion";
pdf.MetaData.CreationDate = System.DateTime.Now;

// Save the PDF document as an output file.
pdf.SaveAs("output.pdf");

// Alternative: Save with compression
pdf.CompressImages(80);
pdf.SaveAs("compressed-output.pdf");
using IronPdf;

// Create an instance of the ChromePdfRenderer class.
var renderer = new ChromePdfRenderer();

// Optional: Configure rendering options for better output
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Enable JavaScript execution for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;

// Set print CSS media type for proper formatting
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

// Add custom headers for authenticated content
renderer.RenderingOptions.CustomCssUrl = "___PROTECTED_URL_142___";

// Configure viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1024;

// Render the HTML file as a PDF document.
var pdf = renderer.RenderHtmlFileAsPdf("invoice.html");

// Optional: Add metadata
pdf.MetaData.Author = "Your Company";
pdf.MetaData.Keywords = "invoice, pdf, conversion";
pdf.MetaData.CreationDate = System.DateTime.Now;

// Save the PDF document as an output file.
pdf.SaveAs("output.pdf");

// Alternative: Save with compression
pdf.CompressImages(80);
pdf.SaveAs("compressed-output.pdf");
Imports IronPdf

' Create an instance of the ChromePdfRenderer class.
Dim renderer As New ChromePdfRenderer()

' Optional: Configure rendering options for better output
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4

' Enable JavaScript execution for dynamic content
renderer.RenderingOptions.EnableJavaScript = True

' Set print CSS media type for proper formatting
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print

' Add custom headers for authenticated content
renderer.RenderingOptions.CustomCssUrl = "___PROTECTED_URL_142___"

' Configure viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1024

' Render the HTML file as a PDF document.
Dim pdf = renderer.RenderHtmlFileAsPdf("invoice.html")

' Optional: Add metadata
pdf.MetaData.Author = "Your Company"
pdf.MetaData.Keywords = "invoice, pdf, conversion"
pdf.MetaData.CreationDate = System.DateTime.Now

' Save the PDF document as an output file.
pdf.SaveAs("output.pdf")

' Alternative: Save with compression
pdf.CompressImages(80)
pdf.SaveAs("compressed-output.pdf")
$vbLabelText   $csharpLabel

這段程式碼將 HTML 檔案("invoice.html")轉換為 PDF 文件。 透過建立 ChromePdfRenderer,您正在使用 Chromium 引擎來確保準確轉換,從而保持網頁的外觀。 渲染選項可讓您設定自訂邊距和紙張大小。產生的 PDF 檔案將以"output.pdf"格式儲存,只需呼叫"SaveAs"即可。 此簡化流程讓 HTML 轉 PDF 的過程變得直觀,便於在 C# 中生成 PDF 檔案。

針對複雜情境,可探索將 URL 轉換為 PDF、處理 HTML 字串,或在 ASP.NET MVC 應用程式中轉換 CSHTML 檔案。 您亦可渲染 JavaScript 圖表並處理 Angular 應用程式

HTML 轉 PDF 的輸出效果為何?

PDF 檢視器介面顯示了一個範例發票模板,其中包含佔位符公司資訊、總計 190.00 美元的兩項商品以及導航控制項。 在 PDF 閱讀器中檢視的基本發票範例,展示標準發票元素,包括發件人/收件人詳細資訊、服務明細及價格計算

若需進階的 PDF 生成功能,可考慮加入頁碼目錄自訂浮水印。 您可以透過線性化來優化輸出,以加快網頁瀏覽速度。

如何將圖片轉換為 PDF?

讓我們將圖片轉換為 PDF 文件。 只需少量程式碼,即可轉換 JPEG、PNG、BMP 和 SVG 檔案。 該函式庫亦支援進階功能,例如繪製線條與矩形,或向現有 PDF 檔案中加入文字與位圖

我可以轉換哪些圖像格式?

IronPDF 主頁截圖,展示了 C# PDF 庫在 .NET 應用程式中建立、編輯和讀取 PDF 的關鍵功能。 IronPDF 提供一套全面的 C# PDF 函式庫,支援 HTML 轉 PDF 轉換、跨平台相容性,並具備超過 50 項用於 .NET 應用程式中 PDF 處理的功能。

using IronPdf;
using System.IO;
using System.Linq;

// Enumerate all PNG files from the specified directory.
var imageFiles = Directory.EnumerateFiles("assets").Where(f => f.EndsWith(".png"));

// Create an instance of ImageToPdfConverter
var imageToPdf = new ImageToPdfConverter();

// Optional: Set rendering options for better control
imageToPdf.ImageBehavior = ImageBehavior.CropPage;
imageToPdf.PaperSize = IronPdf.Imaging.PdfPaperSize.A4;

// Set margins for professional appearance
imageToPdf.PaperMargins = new IronPdf.Imaging.PdfPaperMargins(25);

// Control image quality and compression
imageToPdf.ImageQuality = 90; // 0-100 quality scale

// Convert the images to a PDF document.
ImageToPdfConverter.ImageToPdf(imageFiles).SaveAs("composite.pdf");

// Alternative: Convert a single image with custom settings
var singleImagePdf = imageToPdf.ImageToPdf("assets/logo.png");
singleImagePdf.SaveAs("single-image.pdf");

// Advanced: Add metadata to image PDF
singleImagePdf.MetaData.Title = "Company Logo";
singleImagePdf.MetaData.Subject = "Brand Assets";
singleImagePdf.MetaData.CreationDate = DateTime.Now;
singleImagePdf.SaveAs("logo-with-metadata.pdf");
using IronPdf;
using System.IO;
using System.Linq;

// Enumerate all PNG files from the specified directory.
var imageFiles = Directory.EnumerateFiles("assets").Where(f => f.EndsWith(".png"));

// Create an instance of ImageToPdfConverter
var imageToPdf = new ImageToPdfConverter();

// Optional: Set rendering options for better control
imageToPdf.ImageBehavior = ImageBehavior.CropPage;
imageToPdf.PaperSize = IronPdf.Imaging.PdfPaperSize.A4;

// Set margins for professional appearance
imageToPdf.PaperMargins = new IronPdf.Imaging.PdfPaperMargins(25);

// Control image quality and compression
imageToPdf.ImageQuality = 90; // 0-100 quality scale

// Convert the images to a PDF document.
ImageToPdfConverter.ImageToPdf(imageFiles).SaveAs("composite.pdf");

// Alternative: Convert a single image with custom settings
var singleImagePdf = imageToPdf.ImageToPdf("assets/logo.png");
singleImagePdf.SaveAs("single-image.pdf");

// Advanced: Add metadata to image PDF
singleImagePdf.MetaData.Title = "Company Logo";
singleImagePdf.MetaData.Subject = "Brand Assets";
singleImagePdf.MetaData.CreationDate = DateTime.Now;
singleImagePdf.SaveAs("logo-with-metadata.pdf");
Imports IronPdf
Imports System.IO
Imports System.Linq

' Enumerate all PNG files from the specified directory.
Dim imageFiles = Directory.EnumerateFiles("assets").Where(Function(f) f.EndsWith(".png"))

' Create an instance of ImageToPdfConverter
Dim imageToPdf = New ImageToPdfConverter()

' Optional: Set rendering options for better control
imageToPdf.ImageBehavior = ImageBehavior.CropPage
imageToPdf.PaperSize = IronPdf.Imaging.PdfPaperSize.A4

' Set margins for professional appearance
imageToPdf.PaperMargins = New IronPdf.Imaging.PdfPaperMargins(25)

' Control image quality and compression
imageToPdf.ImageQuality = 90 ' 0-100 quality scale

' Convert the images to a PDF document.
ImageToPdfConverter.ImageToPdf(imageFiles).SaveAs("composite.pdf")

' Alternative: Convert a single image with custom settings
Dim singleImagePdf = imageToPdf.ImageToPdf("assets/logo.png")
singleImagePdf.SaveAs("single-image.pdf")

' Advanced: Add metadata to image PDF
singleImagePdf.MetaData.Title = "Company Logo"
singleImagePdf.MetaData.Subject = "Brand Assets"
singleImagePdf.MetaData.CreationDate = DateTime.Now
singleImagePdf.SaveAs("logo-with-metadata.pdf")
$vbLabelText   $csharpLabel

此程式碼展示了兩種方法:批量轉換多個 PNG 檔案,以及單張圖片轉換。 它會在 assets 資料夾中找到所有 PNG 文件,並使用 ImageToPdfConverter.ImageToPdf 將它們轉換為 PDF。 ImageBehavior 屬性控制影像在頁面上的位置。 最後,它使用 SaveAs 儲存 PDF。

若需進階的影像處理功能,請探索從 Azure Blob Storage 嵌入影像,或處理 Base64 編碼的影像。 您亦可將 PDF 檔案柵格化為圖像,以便進行反向轉換。

將圖片轉為 PDF 的輸出效果為何?

! IronPDF 文件網頁截圖,顯示了 C# PDF 庫主頁,其中包含用於在 .NET 應用程式中建立和編輯 PDF 的功能 IronPDF 函式庫的首頁展示了關鍵功能,包括 HTML 轉 PDF、對 .NET Framework 的跨平台支援,以及醒目的"免費 30天試用"按鈕

有哪些進階 PDF 轉換功能可用?

除了基本的 HTML 和圖片轉換功能外,IronPDF 還提供許多進階功能,以滿足全面的 PDF 處理需求。 此函式庫支援非同步操作平行處理,以因應高效能情境。

哪些文件類型可以轉換為 PDF?

IronPDF 支援多種格式的轉換:

如何改善生成的 PDF 檔案?

將文件轉換為 PDF 後,請透過以下方式進行優化:

如何優化 PDF 轉換效能?

為了提升您的應用程式效能:

關於平台特定考量事項?

IronPDF 提供全面的平台支援:

關鍵要點是什麼?

本文探討了在 C# 中進行 PDF 轉換以實現文件管理與共享。 透過 C# 和 IronPDF,您可以輕鬆地將 PDF 功能整合至您的應用程式中。 從生成 PDF 到轉換 HTML、圖片及現有文件,IronPDF 提供全面的功能。 程式碼範例展示了如何以最少的操作,將 HTML 文件和圖片轉換為 PDF 檔案。

IronPDF 的優勢在於其全面的功能:

  • 跨平台支援 WindowsLinuxmacOS 及雲端環境
  • 支援多種轉換格式,包括 HTML、圖片、DOCX、RTF 等
  • 進階功能,例如數位簽章、加密、表單及註解
  • 透過非同步操作與平行處理來優化效能
  • 採用 Chrome 渲染引擎實現像素級精準渲染
  • 包含 API 參考疑難排解指南的完整文件

如所示,IronPDF 能簡化複雜的 PDF 處理任務,對於希望在 .NET 應用程式中強化文件處理功能的開發者而言,具有極高價值。 無論是開發網頁應用程式桌面軟體雲端服務,IronPDF 皆提供 Professional 級別的 PDF 生成工具。 該函式庫的功能包含建立編輯轉換保護 PDF 文件。

若要下載 PDF 轉換庫,請造訪IronPDF 的 NuGet 套件。 此外,歡迎參閱使用 IronPDF 進行 HTML 轉 PDF 教學指南。 若需實作學習,請參閱我們的程式碼範例詳盡教學指南。 IronPDF 開發者可根據需求選擇多種授權方案。 提供免費試用。 如需完整的定價與授權資訊,請造訪 IronPDF 授權資訊頁面。 請查閱變更紀錄以獲取最新更新與改進內容。

常見問題解答

怎樣在 C# 中將 HTML 轉換為 PDF?

您可以使用 IronPDF 的 RenderHtmlAsPdf 方法將 HTML 字符串轉換為 PDF。您還可以使用 RenderHtmlFileAsPdf 將 HTML 文件轉換為 PDF。

設置 IronPDF 在 Visual Studio 項目中的步驟有哪些?

要在 Visual Studio 項目中設置 IronPDF,使用 NuGet 包管理器搜索 'IronPDF' 並安裝最新的包。此過程將 IronPDF 集成到您的項目中,讓您可以訪問其 PDF 功能。

IronPDF 的 PDF 操作功能有哪些?

IronPDF 提供全面的 PDF 操作功能,包括文本提取、合併和拆分 PDF、旋轉頁面,以及修改內容和註釋。

我可以使用 IronPDF 將圖片轉換為 PDF 嗎?

是的,您可以使用 IronPDF 的 ImageToPdfConverter 方法將圖片轉換為 PDF,該方法支持 JPEG、PNG 和 BMP 等圖像格式。

IronPDF 如何在轉換過程中保持格式?

IronPDF 憑藉其強大的渲染引擎,通過準確渲染 HTML 和圖像內容到 PDF 格式,確保原始文檔格式在轉換過程中得到保留。

IronPDF 有試用版本嗎?

是的,IronPDF 提供免費試用版。有關詳細的價格和授權信息,您可以參考 IronPDF 授權信息頁面。

IronPDF支持哪些編程語言?

IronPDF 支持與 C#、VB.NET 和 F# 應用程序的集成,為在 .NET 生態系統中工作的開發者提供了廣泛的可能性。

我可以在哪裡找到更多使用 IronPDF 的教程或支持?

IronPDF 的網站和文檔頁面提供了其他教程和支持,包括關於 HTML 到 PDF 轉換和其他功能的指南。

IronPDF 是否與 .NET 10 完全相容?

是的—IronPDF完全相容於.NET 10,無需任何特殊配置即可無縫運行。它支持.NET 10的最新執行環境及語言功能,包括跨平台部署和現代異步API。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

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

鋼鐵支援團隊

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