在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
將 HTML 文件與 CSS 一起轉換為 PDF 是現代網頁和桌面應用程式開發中的一個常見需求。它使開發人員能夠將網頁、報告或格式化文件轉換為 PDF 檔案,這對於生成發票、創建可打印報告或存檔網頁內容等任務至關重要。在這份全面指南中,我們將探索兩個流行的 C# 方法。
iTextSharp 是一個著名的開源庫,通常用於在 C# 中創建和操作 PDF 文檔。現在它通常被稱為 iText7。雖然其主要焦點不是 HTML 到 PDF 的轉換,但其強大的功能集使其成為此目的的一個靈活選擇。它提供 pdfHTML,這是一個附加組件,允許開發人員使用字串 HTML 片段和 CSS 樣式表程式化地生成、轉換和自定義 PDF 文檔。
雖然 iText7 提供了對 PDF 生成過程的細粒度控制,但在處理具有複雜 HTML 佈局的圖像和具有繁複 CSS 樣式的字體時,可能需要額外的努力。
IronPDF,對比之下,是一個專門為PDF生成和HTML頁面轉換為PDF格式而設計的C#庫。它專注於簡化將帶有CSS的HTML內容轉換為PDF文件的過程,成為實現簡單的HTML到PDF任務的絕佳選擇。
IronPDF的方法非常適合需要無憂轉換而不遇到PDF文檔構建複雜性的情況。它簡化了開發人員的過程,並允許快速實施具有分頁的新文檔。
在深入比較細節之前,我們先簡要討論一下如何在您的 C# 專案中設置這些程式庫。
要安裝 iTextSharp (iText7) 使用 NuGet 套件管理器,請按照以下步驟操作:
在 Visual Studio 或打開現有的項目。
在Solution Explorer中右鍵點擊您的項目,選擇「管理NuGet套件」或點擊工具選單並選擇NuGet套件管理器 --> 管理解決方案的NuGet套件。
在「NuGet 套件管理員」視窗中,切換到「瀏覽」標籤頁。
搜尋「iText7.pdfhtml」並從搜尋結果中選擇「iText7.pdfhtml」。
點擊「安裝」按鈕將 iText7 HTML2PDF 轉換器添加到您的專案中。
為了使用 HTML 轉換器,還需要一個重要的相依性,即 "itext7.bouncy-castle-adapter"。itext7.bouncy-castle-adapter 模組是 itext7.pdfhtml 所必需的,因為它提供了加密算法和安全功能,這些功能在創建和操作 PDF 文件的過程中被使用。
搜索 "itext7.bouncy-castle-adapter" 並選擇 "itext7.bouncy-castle-adapter" 進行安裝。
安裝 IronPDF 同樣簡單:
在 Visual Studio 中創建一個新項目或打開現有的項目。
右鍵單擊方案資源管理器中的項目,選擇「管理 NuGet 套件」,或者點擊工具選單,選擇 NuGet 套件管理器 -> 管理方案的 NuGet 套件。
在 "NuGet 套件管理員" 視窗中,切換到 "瀏覽" 標籤。
搜尋 "IronPDF" 並從搜尋結果中選擇 "IronPdf"。
iText7.pdfHTML 提供了一種靈活的方法來 HTML轉PDF轉換,讓開發人員可以控制 PDF 生成過程。這是將 HTML 文件轉換為 PDF 的源代碼:
using iText.Html2pdf;
// Input HTML page content with CSS styling
var html = "<html><head><style>body { font-family: Arial, sans-serif; }</style></head><body><h1>Hello, iText 7!</h1><p>This is a sample HTML to PDF conversion.</p></body></html>";
// Output PDF file path
string outputPdfPath = "results/output.pdf";
HtmlConverter.ConvertToPdf(html, new FileStream(outputPdfPath, FileMode.Create));
using iText.Html2pdf;
// Input HTML page content with CSS styling
var html = "<html><head><style>body { font-family: Arial, sans-serif; }</style></head><body><h1>Hello, iText 7!</h1><p>This is a sample HTML to PDF conversion.</p></body></html>";
// Output PDF file path
string outputPdfPath = "results/output.pdf";
HtmlConverter.ConvertToPdf(html, new FileStream(outputPdfPath, FileMode.Create));
Imports iText.Html2pdf
' Input HTML page content with CSS styling
Private html = "<html><head><style>body { font-family: Arial, sans-serif; }</style></head><body><h1>Hello, iText 7!</h1><p>This is a sample HTML to PDF conversion.</p></body></html>"
' Output PDF file path
Private outputPdfPath As String = "results/output.pdf"
HtmlConverter.ConvertToPdf(html, New FileStream(outputPdfPath, FileMode.Create))
上面的代碼片段展示了如何使用 iText 7 的 HtmlConverter
將純文字或指定的帶有 CSS 樣式的 HTML 內容轉換為 PDF 文件。在 CSS 樣式標籤中,您也可以設置字體大小以及更多樣式,如背景顏色、內容排列等。它定義了輸入的 HTML 內容,指定了輸出的 PDF 文件路徑,然後啟動轉換過程。生成的 PDF 將保存在 outputPdfPath
指定的位置。
雖然iText7提供了細緻的樣式控制,但對於複雜的HTML佈局或精細的CSS樣式設定可能需要額外的程式碼。然而,在需要進行廣泛的PDF樣式自定義超越HTML轉換的情境中,它的表現尤為出色。
IronPDF 簡化 HTML 轉換為 PDF 使用一種簡單的方法直接將HTML標籤和CSS渲染成PDF文件。以下是將HTML字符串轉換為PDF頁面的代碼範例:
using IronPdf;
// Basic Example
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;
// Basic Example
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf
' Basic Example
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Create a PDF from a HTML string using C#
Private pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
' Advanced Example with HTML Assets
' Load external html assets: Images, CSS and JavaScript.
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
以下是上述程式碼的更詳細說明:
在基本範例中,IronPDF 提供一種簡化的 HTML 到 PDF 文件轉換方法。如上面的源代碼所示,開發人員只需幾行代碼即可完成此操作。核心步驟包括創建 PdfDocument
並直接將 HTML 內容渲染到其中。
在进阶範例中,代码加载包含图像的HTML元素内容 (```
<img src='icons/iron.png'>
``) 並指定加載外部資源的基本路徑 (例如圖像、外部 CSS 檔案和 JavaScript 檔案) 使用
RenderHtmlAsPdf` 方法。生成的 PDF,其中包含 HTML 內容及其相關資產,保存為 "html-with-assets.pdf"。
IronPDF其方法非常適合需要無需深入研究PDF文件構建複雜性且無需任何其他依賴的無憂數據轉換過程的情景。它抽象了許多底層的複雜性,並提供了用戶友好的體驗。
在這次全面比較中,我們探討了兩個用於 C# 的強大 HTML 轉換成 PDF 的庫: iTextSharp 和 IronPDFiTextSharp,具有綜合的 PDF 操作功能,為開發者提供了精確控制 PDF 生成過程的工具。在需要複雜的 PDF 自定義,而不僅僅是簡單的 HTML 轉 PDF 的情境下,iTextSharp 表現出色。另一方面,IronPDF 作為一個專為輕鬆將 HTML 轉換為 PDF 而設計的專用庫,提供了直觀且使用者友好的方法,是需要最少編碼工作的簡單任務的理想選擇。
要在這兩個庫之間做出正確選擇,需考慮您對 PDF 的需求複雜程度。如果您需要廣泛的自定義和高級的 PDF 功能,那麼 iTextSharp 是理想的選擇。然而,若需快速高效地將 HTML 轉換為 PDF,且不需要複雜的 PDF 修改和其他庫依賴,IronPDF 是一個非常高效且使用者友好的選擇。它還提供高級的 PDF 操作選項。
IronPDF 免費供開發用途,但需要 授權 用於商業用途。它還提供了一個 免費試用. 從 IronPDF 下載軟體 網站.
9 個 .NET API 產品 針對您的辦公文件