產品比較

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

發佈 2023年11月13日
分享:

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

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. 在解決方案總管中右鍵點擊您的專案,然後選擇「管理 NuGet 套件」,或點擊工具選單並選擇 NuGet 套件管理員 --> 管理方案的 NuGet 套件。

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

     related to 安裝iTextSharp

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

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

    iTextSharp HTML 轉 PDF 與 CSS 樣式 C# 範例 vs(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 模組是使用 HTML 轉換器與 itext7.pdfhtml 所需的另一個依賴項。 在「瀏覽」標籤中,在搜尋框輸入 itext7.bouncy-castle-adapter。 從搜索結果中選擇 itext7.bouncy-castle-adapter 並點擊安裝按鈕。

安裝 IronPDF

安裝IronPDF同樣簡單:

  1. 在 Visual Studio 中創建一個新專案或打開現有專案。

  2. 在方案總管中右鍵點擊您的專案,然後選擇“管理 NuGet 套件”,或者點擊工具選單並選擇 NuGet 套件管理器 -> 為方案管理 NuGet 套件。

    iTextSharp HTML to PDF 與 CSS 樣式 C# 範例 vs (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. 點擊「安裝」按鈕將 IronPDF 添加到您的專案中。

使用 iTextSharp 將 HTML 轉換為 PDF

iText7.pdfHTML 提供了一種靈活的方式來使用 iTextSharp 將 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將純文字或指定的HTML內容與CSS樣式轉換為PDF文件。在CSS樣式標籤中,您還可以設置字體大小以及更多樣式,例如背景顏色、內容配置等。它定義了輸入的HTML內容,指定了輸出的PDF文件路徑,然後調用轉換過程。 生成的 PDF 將儲存在 outputPdfPath 指定的位置。

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

儘管iText7提供細緻的樣式控制,但對於複雜的HTML佈局或精細的CSS樣式可能需要額外的代碼。 然而,它在需要超出 HTML 轉換的廣泛 PDF 樣式自訂的情境中表現出色。

使用 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 to PDF 與 CSS 樣式 C# 範例 vs (IronPDF) 圖 9 - 使用 IronPDF for .NET 庫簡化 HTML 到 PDF 轉換的輸出 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 文件構建的複雜性,也不需要任何其他依賴項。 它抽象了許多底層的複雜性,並提供一個使用者友好的體驗。

結論

在這次詳細的比較中,我們探討了兩個強大的HTML到PDF轉換C#庫:iTextSharpIronPDF.

iTextSharp 憑藉其全面的 PDF 操作功能,為開發人員提供了精確控制 PDF 生成過程的工具。 在需要超出簡單 HTML 轉 PDF 的複雜 PDF 自定義情境中表現出色。 另一方面,IronPDF 作為專門設計的庫,專注於輕鬆進行 HTML 到 PDF 的轉換。 它提供了一種直觀且使用者友好的方法,非常適合需要最少編程工作量的簡單任務。

在這兩個函式庫之間做出正確選擇時,考慮您的 PDF 需求的複雜性。 如果您需要廣泛的自訂和先進的 PDF 功能,iTextSharp 是值得選擇的工具。 然而,若不需要複雜的 PDF 修改和其他庫依賴之情況下,IronPDF 是一個快捷且高效的 HTML 到 PDF 轉換解決方案,並且易於使用。 它還提供進階的 PDF 操作選項。

查看IronPDF 的定價和授權詳情因其可供開發用途免費使用,但需取得商業用途授權。 下載 IronPDF從IronPDF的網站免費試用。

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

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

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >