C#中的PDF轉換(開發者教程)
C# 中的 PDF 轉換(開發者教學)
IronPDF 讓您只需幾行程式碼,即可在 C# 應用程式中將文件轉換為 PDF。 它能在 Windows、Linux 和 macOS 平台上無縫處理 HTML 轉 PDF 及圖片轉 PDF 的轉換作業。
本文將向您展示如何使用 IronPDF(適用於 .NET 和 .NET Core 的 PDF 函式庫)進行 PDF 轉換。 無論您使用 Windows、Linux 或 macOS,IronPDF 皆提供跨平台支援,滿足您所有的 PDF 需求。 此函式庫提供詳盡的文件與教學指南,助您快速上手。
什麼是 IronPDF?
- PDF 生成:可透過 C# 程式碼輕鬆從各種來源(包括 HTML、圖片、文字及現有檔案)建立 PDF 文件。
- HTML 轉 PDF:將 HTML 內容(包括網頁或 HTML 範本)轉換為高品質的 PDF 檔案,並能完全掌控樣式與格式。 3.影像轉 PDF :將影像檔案(如 JPEG、PNG 或 BMP)轉換為 PDF 文檔,以便輕鬆地將影像整合到 PDF 報告和文件中。
- PDF 處理:全面的 PDF 編輯功能,包括從 PDF 中擷取文字、合併與分割 PDF、旋轉,以及新增、修改或移除內容與註解。
- PDF 表單:建立、填寫及從 PDF 表單中擷取資料,適用於需要互動式表單與資料收集的應用程式。
無論您需要從頭開始生成 PDF、將 HTML 頁面、圖片或現有文件轉換為 PDF 格式,還是需要處理現有的 PDF 文件,IronPDF 皆提供直觀的 API 來完成這些任務。 此函式庫採用 Chrome 渲染引擎,確保您的 HTML 轉換效果完全符合預期。 如需完整功能清單,請參閱 IronPDF 功能概覽網站。
- PDF 生成:透過程式碼從 HTML、圖片、文字及檔案建立 PDF 檔案。 支援自訂尺寸、方向及邊距。 亦支援多國語言。
- HTML 轉 PDF:將 HTML 轉為 PDF 並完整保留樣式。 支援 CSS 媒體查詢、JavaScript 及網頁字型。 支援 WebGL 及響應式設計。
- 圖片轉 PDF:將 JPEG、PNG 或 BMP 檔案轉換為 PDF。 支援 TIFF 轉換及 SVG 圖形。 可嵌入 DataURI 格式的圖片。
- PDF 處理:透過文字擷取、合併/分割及註解功能編輯 PDF 檔案。 此外,還需執行文字遮蔽、添加水印及管理元資料。
- PDF 表單:建立並填寫 PDF 表單。 支援表單的建立與編輯。 可將 PDF 轉換為靜態內容。
如何建立新的 Visual Studio 專案?
在深入探討程式碼之前,讓我們先建立一個新的 C# 主控台應用程式專案。 如果您是 .NET 開發的新手,快速入門指南中的額外設定提示可能會對您有所幫助。 F# 開發人員亦可運用函數式程式設計方法來使用 IronPDF。
-
開啟 Visual Studio,並透過點選"檔案">"新增">"專案"來建立新專案。
Visual Studio 檔案選單已展開,顯示各種選項,包括新專案、複製儲存庫、開啟檔案/專案和儲存選項以及鍵盤快捷鍵。 Visual Studio 的"檔案"選單提供快速存取關鍵的專案管理功能,從建立新專案到從版本控制系統複製儲存庫皆可一應俱全。
-
會出現一個新視窗。 選擇"主控台應用程式"範本,並點擊底部的"下一步"。 此範本非常適合用於學習 PDF 基礎知識,之後再進階至 Blazor 應用程式或 ASP.NET MVC 等複雜專案類型。
Visual Studio 的"建立新專案"對話方塊顯示已選擇控制台應用程式模板,用於建立支援 Windows、Linux 和 macOS 的 .NET Core 命令列應用程式。 Visual Studio 中的"主控台應用程式"範本,為使用 .NET Core 建立跨平台命令列應用程式提供了起點。
-
在下一視窗中,為您的專案命名並選擇儲存位置,然後按一下"下一步"。 建議將專案整理至專用資料夾中,以便輕鬆存取程式碼範例與範例檔案。
Visual Studio 的"設定新專案"對話方塊顯示了名為"PDF 轉換"的控制台應用程式的設置,包括專案位置和解決方案設定。 步驟 2:為 PDF 轉換應用程式設定新的 Console Application 專案,並採用適當的命名與位置設定。
-
選擇目標框架,然後點擊"建立"。 針對現代應用程式,建議使用 .NET 6 或更新版本以獲得最佳效能與支援。 最新版本提供了更佳的效能與非同步功能。
Visual Studio 專案建立對話方塊顯示"附加資訊"頁面,其中已選擇 .NET 5.0 作為控制台應用程式的目標框架。 在 Visual Studio 中建立新主控台應用程式時的最後一步,即選擇目標框架。 請注意,.NET 5.0 已被標記為"已停止支援"——建議在當前專案中使用 .NET 6.0 或 .NET 8.0。
您的專案已準備就緒。 現在來安裝 IronPDF。
如何安裝 IronPDF?
IronPDF 提供多種安裝方式。 此處我們將使用 NuGet 套件管理員。 您可以探索適用於特定情境的高階安裝方法,包括 Windows 安裝程式選項及 Linux 設定。
- 在 Visual Studio 中,開啟"工具"選單,並將游標懸停於"NuGet 套件管理員"上。
-
點擊"管理解決方案的 NuGet 套件"。
Visual Studio 工具選單已展開,顯示 NuGet 套件管理器子選單,其中包含"套件管理器控制台"、"管理解決方案的 NuGet 套件"和"套件管理器設定"等選項。 Visual Studio 的"工具"選單提供 NuGet 套件管理員的功能,這些功能對於管理 .NET 專案中的外部函式庫和依賴項至關重要
- 會出現一個新視窗。 點擊"瀏覽"標籤,並搜尋"IronPDF"。
- 選取 IronPDF 並點擊"安裝"。 若部署規模較小,建議考慮使用 IronPdf.Slim。
-
您也可以透過套件管理主控台進行安裝:
Install-Package IronPdf
或直接從 IronPDF NuGet 頁面下載。 關於容器,請參閱 Docker 部署指南,或將 IronPDF 作為遠端容器執行。
如何使用 IronPDF 將檔案轉換為 PDF?
讓我們來探討如何將不同文件格式轉換為 PDF。 IronPDF 提供豐富的渲染選項以自訂輸出效果,包括自訂日誌記錄與效能監控。
- 將 HTML 文件轉換為 PDF 文檔
- 將影像轉換為 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")
這段程式碼將 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 文件。 只需少量程式碼,即可轉換 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")
此程式碼展示了兩種方法:批量轉換多個 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 支援多種格式的轉換:
- 具備郵件合併功能的 DOCX 轉 PDF 工具
- RTF 轉 PDF:適用於富文本格式檔案
- 透過 XSLT 轉換將 XML 轉為 PDF
- 將 Markdown 轉換為 PDF 作為文件
- 在 MAUI 應用程式中將 XAML 轉換為 PDF
- 包含多個資源的 HTML ZIP 檔案
如何改善生成的 PDF 檔案?
將文件轉換為 PDF 後,請透過以下方式進行優化:
如何優化 PDF 轉換效能?
為了提升您的應用程式效能:
關於平台特定考量事項?
IronPDF 提供全面的平台支援:
- 行動應用程式的 Android 部署
- 網頁伺服器的 IIS 設定
- Azure App Service 優化
- AWS Lambda 函式
- 本地引擎與遠端引擎選項
關鍵要點是什麼?
本文探討了在 C# 中進行 PDF 轉換以實現文件管理與共享。 透過 C# 和 IronPDF,您可以輕鬆地將 PDF 功能整合至您的應用程式中。 從生成 PDF 到轉換 HTML、圖片及現有文件,IronPDF 提供全面的功能。 程式碼範例展示了如何以最少的操作,將 HTML 文件和圖片轉換為 PDF 檔案。
IronPDF 的優勢在於其全面的功能:
- 跨平台支援 Windows、Linux、macOS 及雲端環境
- 支援多種轉換格式,包括 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。



