產品比較

iTextsharp HTML 轉 PDF 與 CSS 樣式 C# 範例 對比 IronPDF

發佈 2023年11月13日
分享:

將 HTML 文件與 CSS 一起轉換為 PDF 是現代網頁和桌面應用程式開發中的一個常見需求。它使開發人員能夠將網頁、報告或格式化文件轉換為 PDF 檔案,這對於生成發票、創建可打印報告或存檔網頁內容等任務至關重要。在這份全面指南中,我們將探索兩個流行的 C# 方法。

HTML 轉換 PDF 的程式庫

iTextSharp

iTextSharp 是一個著名的開源庫,通常用於在 C# 中創建和操作 PDF 文檔。現在它通常被稱為 iText7。雖然其主要焦點不是 HTML 到 PDF 的轉換,但其強大的功能集使其成為此目的的一個靈活選擇。它提供 pdfHTML,這是一個附加組件,允許開發人員使用字串 HTML 片段和 CSS 樣式表程式化地生成、轉換和自定義 PDF 文檔。

雖然 iText7 提供了對 PDF 生成過程的細粒度控制,但在處理具有複雜 HTML 佈局的圖像和具有繁複 CSS 樣式的字體時,可能需要額外的努力。

IronPDF

IronPDF,對比之下,是一個專門為PDF生成和HTML頁面轉換為PDF格式而設計的C#庫。它專注於簡化將帶有CSS的HTML內容轉換為PDF文件的過程,成為實現簡單的HTML到PDF任務的絕佳選擇。

IronPDF的方法非常適合需要無憂轉換而不遇到PDF文檔構建複雜性的情況。它簡化了開發人員的過程,並允許快速實施具有分頁的新文檔。

安裝與設置

在深入比較細節之前,我們先簡要討論一下如何在您的 C# 專案中設置這些程式庫。

安裝 iTextSharp

要安裝 iTextSharp (iText7) 使用 NuGet 套件管理器,請按照以下步驟操作:

  1. Visual Studio 或打開現有的項目。

  2. 在Solution Explorer中右鍵點擊您的項目,選擇「管理NuGet套件」或點擊工具選單並選擇NuGet套件管理器 --> 管理解決方案的NuGet套件。

    iTextSharp HTML 轉 PDF 與 CSS 樣式 C# 範例 vs (IronPDF) 圖 1 - 要在您的 Visual Studio 專案中安裝 iTextSharp,請在方案總管中右鍵點擊專案並選擇「管理 NuGet 套件」選項。

  3. 在「NuGet 套件管理員」視窗中,切換到「瀏覽」標籤頁。

  4. 搜尋「iText7.pdfhtml」並從搜尋結果中選擇「iText7.pdfhtml」。

    iTextSharp HTML 轉 PDF 並帶有 CSS 樣式的 C# 範例 (IronPDF) 圖 3 - 在“瀏覽”標籤中,在搜索框中輸入 itext7.pdf。從搜索結果中選擇 itext7.pdfhtml,然後點擊“安裝”按鈕。

  5. 點擊「安裝」按鈕將 iText7 HTML2PDF 轉換器添加到您的專案中。

  6. 為了使用 HTML 轉換器,還需要一個重要的相依性,即 "itext7.bouncy-castle-adapter"。itext7.bouncy-castle-adapter 模組是 itext7.pdfhtml 所必需的,因為它提供了加密算法和安全功能,這些功能在創建和操作 PDF 文件的過程中被使用。

  7. 搜索 "itext7.bouncy-castle-adapter" 並選擇 "itext7.bouncy-castle-adapter" 進行安裝。

    iTextSharp HTML 轉換成 PDF 並帶有 CSS 樣式的 C# 範例 vs (IronPDF) 圖 4 - itext7.bouncy-castle-adapter 模組是使用 itext7.pdfhtml 的 HTML 轉換器所需的另一個相依性。在「瀏覽」標籤中,在搜尋框中輸入 itext7.bouncy-castle-adapter。從搜尋結果中選擇 itext7.bouncy-castle-adapter 並點擊「安裝」按鈕。

安裝 IronPDF

安裝 IronPDF 同樣簡單:

  1. 在 Visual Studio 中創建一個新項目或打開現有的項目。

  2. 右鍵單擊方案資源管理器中的項目,選擇「管理 NuGet 套件」,或者點擊工具選單,選擇 NuGet 套件管理器 -> 管理方案的 NuGet 套件。

    iTextSharp HTML 轉 PDF 帶 CSS 樣式的 C# 範例對比 (IronPDF) 圖 5 - 要在您的 Visual Studio 專案中安裝 IronPDF,請導航至工具選單,選擇 NuGet 套件管理員 > 管理解決方案的 NuGet 套件。

    iTextSharp HTML 轉 PDF 與 CSS 樣式 C# 範例 vs (IronPDF) 圖6 - 在您的 Visual Studio 專案中安裝 IronPDF 庫的另一種方式:在方案總管中右鍵點擊該專案,然後選擇「管理 NuGet 套件」選項。

  3. 在 "NuGet 套件管理員" 視窗中,切換到 "瀏覽" 標籤。

  4. 搜尋 "IronPDF" 並從搜尋結果中選擇 "IronPdf"。

    iTextSharp HTML 轉換 PDF 與 CSS 樣式 C# 示例 vs (IronPDF) 圖 7 - 在瀏覽標籤中,輸入 ironpdf 在搜索框中。從搜索結果中選擇 IronPdf 並點擊安裝按鈕。

  5. 點擊「Install」按鈕將 IronPDF 添加到您的項目中。

使用 iTextSharp 將 HTML 轉換為 PDF

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))
VB   C#

上面的代碼片段展示了如何使用 iText 7 的 HtmlConverter 將純文字或指定的帶有 CSS 樣式的 HTML 內容轉換為 PDF 文件。在 CSS 樣式標籤中,您也可以設置字體大小以及更多樣式,如背景顏色、內容排列等。它定義了輸入的 HTML 內容,指定了輸出的 PDF 文件路徑,然後啟動轉換過程。生成的 PDF 將保存在 outputPdfPath 指定的位置。

iTextSharp HTML 轉換 PDF,具有 CSS 樣式 C# 範例 vs (IronPDF) 圖表 8 - 使用 iText7.pdfhtml 進行 HTMLtoPDF 轉換輸出的 PDF

雖然iText7提供了細緻的樣式控制,但對於複雜的HTML佈局或精細的CSS樣式設定可能需要額外的程式碼。然而,在需要進行廣泛的PDF樣式自定義超越HTML轉換的情境中,它的表現尤為出色。

使用 IronPDF 將 HTML 轉換為 PDF

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")
VB   C#

以下是上述程式碼的更詳細說明:

簡化的轉換過程

在基本範例中,IronPDF 提供一種簡化的 HTML 到 PDF 文件轉換方法。如上面的源代碼所示,開發人員只需幾行代碼即可完成此操作。核心步驟包括創建 PdfDocument 並直接將 HTML 內容渲染到其中。

iTextSharp HTML轉PDF With CSS Styles C#範例 vs (IronPDF) 圖9 - 使用IronPDF for .NET資料庫轉換簡化的HTMLtoPDF所生成的PDF輸出。

进阶範例示範使用CSS资源

在进阶範例中,代码加载包含图像的HTML元素内容 (```

<img src='icons/iron.png'>

``) 並指定加載外部資源的基本路徑 (例如圖像、外部 CSS 檔案和 JavaScript 檔案) 使用RenderHtmlAsPdf` 方法。生成的 PDF,其中包含 HTML 內容及其相關資產,保存為 "html-with-assets.pdf"。

iTextSharp HTML 轉換 PDF 與 CSS 樣式的 C# 範例 vs (IronPDF) 圖 10 - 使用 IronPDF for .NET 庫進行高級 HTML 轉 PDF 的輸出 PDF。

效率和易用性

IronPDF其方法非常適合需要無需深入研究PDF文件構建複雜性且無需任何其他依賴的無憂數據轉換過程的情景。它抽象了許多底層的複雜性,並提供了用戶友好的體驗。

總結

在這次全面比較中,我們探討了兩個用於 C# 的強大 HTML 轉換成 PDF 的庫: iTextSharpIronPDFiTextSharp,具有綜合的 PDF 操作功能,為開發者提供了精確控制 PDF 生成過程的工具。在需要複雜的 PDF 自定義,而不僅僅是簡單的 HTML 轉 PDF 的情境下,iTextSharp 表現出色。另一方面,IronPDF 作為一個專為輕鬆將 HTML 轉換為 PDF 而設計的專用庫,提供了直觀且使用者友好的方法,是需要最少編碼工作的簡單任務的理想選擇。

要在這兩個庫之間做出正確選擇,需考慮您對 PDF 的需求複雜程度。如果您需要廣泛的自定義和高級的 PDF 功能,那麼 iTextSharp 是理想的選擇。然而,若需快速高效地將 HTML 轉換為 PDF,且不需要複雜的 PDF 修改和其他庫依賴,IronPDF 是一個非常高效且使用者友好的選擇。它還提供高級的 PDF 操作選項。

IronPDF 免費供開發用途,但需要 授權 用於商業用途。它還提供了一個 免費試用. 從 IronPDF 下載軟體 網站.

< 上一頁
IronPDF 與 Puppeteer C#:比較
下一個 >
使用iTextSharp合併PDF文件的方法

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >