跳過到頁腳內容
產品比較

iTextsharp HTML到PDF和CSS樣式C#示例 vs IronPDF

Full Comparison

Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.

View Full Comparison

在許多現代軟體開發工作流程中,無論是產生報告、發票或建立文檔,將 HTML 轉換為 PDF 都是一項至關重要的任務。 身為 C# 開發人員,您可以使用多個程式庫來簡化此流程。

在本文中,我們將比較.NET生態系中最受歡迎的兩個函式庫: IronPDFiTextSharp 。 這兩個庫都提供了強大的功能,但在易用性、PDF 創建工具、CSS 樣式支援和許可等關鍵領域有所不同。 無論您是新手還是經驗豐富的開發人員,本指南都將幫助您了解它們的核心功能,並根據您的需求和專案要求決定哪一個最適合您。

想跟著一起做嗎? 下載IronPDF免費試用版,親自體驗 IronPDF 的強大功能。 *

頂級庫比較:iTextSharp 和IronPDF

iTextSharpIronPDF都為開發人員提供了在 C# 中進行 HTML 到 PDF 轉換所需的工具。 然而,它們各自都有各自的優點和缺點。

  • iTextSharp是一個存在已久的開源函式庫。它提供了靈活性和豐富的自訂選項,但設定和使用起來可能有些複雜,尤其是在處理進階 HTML 和 CSS 渲染時。 但要注意的是,iTextSharp 是一個老舊產品,現在只接收與安全相關的更新。

  • 另一方面, IronPDF是由Iron Software開發的商業產品。 它以其用戶友好的介面、強大的 CSS 支援和易用性而聞名。 它與 C# 應用程式無縫集成,對於需要快速有效地生成 PDF 而不犧牲品質的開發人員來說,這是一個絕佳的選擇。

在深入探討如何使用這兩個程式庫將 HTML 轉換為 PDF 格式之前,讓我們先來看看一個基本的範例比較,以了解這兩個程式庫在處理將包含大量 CSS 和 JavaScript 的網頁/HTML 內容轉換為 PDF 文件時的差異。

iTextSharp 與IronPDF 的PDF URL 比較

從產生的 PDF 文件中可以看出,iTextSharp 只能處理提供的 URL 中的原始 HTML 內容,而IronPDF能夠保持原始 CSS 佈局和樣式,確保生成的 PDF 文件與原始網頁非常相似。

逐步安裝指南

設定 iTextSharp

1.透過NuGet控制台安裝:要開始使用 iTextSharp,您可以直接從NuGet安裝它。 打開你的 Visual Studio 項目,到NuGet套件管理器,然後執行以下命令:

Install-Package iTextSharp

透過NuGet控制台安裝 iTextSharp

2.透過NuGet套件管理器安裝:或者,您也可以透過解決方案畫面的NuGet套件管理器進行安裝。 為此,請導覽至"工具 > NuGet套件管理器 > 管理解決方案的NuGet套件"。

工具下拉選單

然後,搜尋 iTextSharp 庫並點擊"安裝"。

iTextSharp NuGet螢幕

3.新增引用:安裝完成後,在專案中加入必要的引用,特別是與 HTML 到 PDF 轉換相關的引用。

using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;
$vbLabelText   $csharpLabel

設定IronPDF

1.透過NuGet控制台安裝:要開始使用IronPDF,您可以直接從NuGet安裝它。 打開你的 Visual Studio 項目,到NuGet套件管理器,然後執行以下命令:

Install-Package IronPdf

2.透過NuGet套件管理器安裝:或者,您也可以像上面安裝 iTextSharp 一樣,透過"解決方案"畫面中的NuGet套件管理器進行安裝。不過,這次在點擊"安裝"之前,請先搜尋IronPDF。

IronPDF 的NuGet螢幕截圖

3.新增引用:安裝完成後,將IronPDF匯入到您的專案中:

using IronPdf;
using IronPdf;
$vbLabelText   $csharpLabel

需要注意的是, IronPDF 的商業用途/開發以外的用途需要許可證密鑰。

實現 HTML 到 PDF 的轉換

使用 iTextSharp

iTextSharp 設定完成後,請確保在專案中安裝了 itextsharp.xmlworker 包,然後才能開始從 HTML 內容建立 PDF。 但是,在處理更複雜的 HTML 時,你會面臨挑戰,尤其是在涉及 CSS 樣式時。 與IronPDF相比, iTextSharp往往需要付出更多努力才能達到完美的樣式。 需要注意的是,iTextSharp 僅處理基本的 HTML/CSS2 (不支援 flexbox、grid,CSS 功能有限)。

using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;

// Register provider for specific code pages
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

// Define HTML content with CSS styling
string html = @"
<html>
<head>
  <style>
    body { font-family: Arial; color: #333; }
    h1 { background: #3498db; color: #fff; padding: 10px; }
    table { width: 100%; border-collapse: collapse; margin-top: 15px; }
    th, td { border: 1px solid #ccc; padding: 6px; }
    th { background: #2980b9; color: #fff; }
    .footer { margin-top: 20px; font-size: 12px; color: #777; text-align: center; }
  </style>
</head>
<body>
  <h1>April Report</h1>
  <p>Here’s a quick overview of this month’s performance metrics.</p>
  <table>
    <tr><th>Metric</th><th>Value</th></tr>
    <tr><td>Features</td><td>12</td></tr>
    <tr><td>Bugs Fixed</td><td>89</td></tr>
  </table>
  <p class='footer'>Generated by iTextSharp</p>
</body>
</html>";

// Create PDF from HTML content
using (FileStream stream = new FileStream("report.pdf", FileMode.Create))
{
    Document pdfDoc = new Document(PageSize.A4, 25, 25, 30, 30);
    PdfWriter writer = PdfWriter.GetInstance(pdfDoc, stream);
    pdfDoc.Open();
    using (StringReader sr = new StringReader(html))
    {
        // Use XMLWorkerHelper to parse and add HTML content to the PDF document
        XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
    }
    pdfDoc.Close();
    writer.Close();
}
Console.WriteLine("PDF generation completed successfully.");
using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;

// Register provider for specific code pages
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

// Define HTML content with CSS styling
string html = @"
<html>
<head>
  <style>
    body { font-family: Arial; color: #333; }
    h1 { background: #3498db; color: #fff; padding: 10px; }
    table { width: 100%; border-collapse: collapse; margin-top: 15px; }
    th, td { border: 1px solid #ccc; padding: 6px; }
    th { background: #2980b9; color: #fff; }
    .footer { margin-top: 20px; font-size: 12px; color: #777; text-align: center; }
  </style>
</head>
<body>
  <h1>April Report</h1>
  <p>Here’s a quick overview of this month’s performance metrics.</p>
  <table>
    <tr><th>Metric</th><th>Value</th></tr>
    <tr><td>Features</td><td>12</td></tr>
    <tr><td>Bugs Fixed</td><td>89</td></tr>
  </table>
  <p class='footer'>Generated by iTextSharp</p>
</body>
</html>";

// Create PDF from HTML content
using (FileStream stream = new FileStream("report.pdf", FileMode.Create))
{
    Document pdfDoc = new Document(PageSize.A4, 25, 25, 30, 30);
    PdfWriter writer = PdfWriter.GetInstance(pdfDoc, stream);
    pdfDoc.Open();
    using (StringReader sr = new StringReader(html))
    {
        // Use XMLWorkerHelper to parse and add HTML content to the PDF document
        XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
    }
    pdfDoc.Close();
    writer.Close();
}
Console.WriteLine("PDF generation completed successfully.");
$vbLabelText   $csharpLabel

輸出 PDF 文件

iTextSharp HTML 轉 PDF 輸出

使用IronPDF

IronPDF簡化了 PDF 生成過程,只需幾行程式碼即可輕鬆將 HTML 內容轉換為新的 PDF 文檔,如下面的程式碼範例所示。 它能夠處理使用 CSS 檔案進行樣式設定的高級 HTML 文件、HTML 字串以及大量使用 CSS/JavaScript 的 Web 內容。

以下是一個包含內聯 CSS 的簡單範例:

using IronPdf;

class Program
{
    static void Main()
    {
        // Define HTML content with inline CSS styling
        var content = @"
        <html>
        <head>
            <style>
                body {
                    font-family: 'Segoe UI', sans-serif;
                    margin: 40px;
                    background-color: #f8f9fa;
                }
                h1 {
                    color: #2c3e50;
                    border-bottom: 2px solid #2980b9;
                    padding-bottom: 10px;
                }
                table {
                    width: 100%;
                    border-collapse: collapse;
                    margin-top: 20px;
                }
                table, th, td {
                    border: 1px solid #ccc;
                }
                th {
                    background-color: #2980b9;
                    color: white;
                    padding: 10px;
                }
                td {
                    padding: 10px;
                    background-color: #ecf0f1;
                }
                .footer {
                    margin-top: 40px;
                    text-align: center;
                    font-size: 0.9em;
                    color: #7f8c8d;
                }
                img {
                    width: 120px;
                    float: right;
                }
            </style>
        </head>
        <body>
            <img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg' alt='Company Logo' />
            <h1>Monthly Report - April 2025</h1>
            <p>This report outlines performance statistics and key updates for the development team.</p>

            <table>
                <tr>
                    <th>Metric</th>
                    <th>Value</th>
                    <th>Change</th>
                </tr>
                <tr>
                    <td>Feature Releases</td>
                    <td>12</td>
                    <td style='color: green;'>+20%</td>
                </tr>
                <tr>
                    <td>Bugs Resolved</td>
                    <td>89</td>
                    <td style='color: green;'>+45%</td>
                </tr>
                <tr>
                    <td>Downtime</td>
                    <td>2 hrs</td>
                    <td style='color: red;'>+15%</td>
                </tr>
            </table>

            <div class='footer'>
                Generated with IronPDF | © 2025 DevCorp
            </div>
        </body>
        </html>";

        // Use ChromePdfRenderer to render the HTML content as a PDF
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(content);
        pdf.SaveAs("AdvancedStyledReport.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main()
    {
        // Define HTML content with inline CSS styling
        var content = @"
        <html>
        <head>
            <style>
                body {
                    font-family: 'Segoe UI', sans-serif;
                    margin: 40px;
                    background-color: #f8f9fa;
                }
                h1 {
                    color: #2c3e50;
                    border-bottom: 2px solid #2980b9;
                    padding-bottom: 10px;
                }
                table {
                    width: 100%;
                    border-collapse: collapse;
                    margin-top: 20px;
                }
                table, th, td {
                    border: 1px solid #ccc;
                }
                th {
                    background-color: #2980b9;
                    color: white;
                    padding: 10px;
                }
                td {
                    padding: 10px;
                    background-color: #ecf0f1;
                }
                .footer {
                    margin-top: 40px;
                    text-align: center;
                    font-size: 0.9em;
                    color: #7f8c8d;
                }
                img {
                    width: 120px;
                    float: right;
                }
            </style>
        </head>
        <body>
            <img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg' alt='Company Logo' />
            <h1>Monthly Report - April 2025</h1>
            <p>This report outlines performance statistics and key updates for the development team.</p>

            <table>
                <tr>
                    <th>Metric</th>
                    <th>Value</th>
                    <th>Change</th>
                </tr>
                <tr>
                    <td>Feature Releases</td>
                    <td>12</td>
                    <td style='color: green;'>+20%</td>
                </tr>
                <tr>
                    <td>Bugs Resolved</td>
                    <td>89</td>
                    <td style='color: green;'>+45%</td>
                </tr>
                <tr>
                    <td>Downtime</td>
                    <td>2 hrs</td>
                    <td style='color: red;'>+15%</td>
                </tr>
            </table>

            <div class='footer'>
                Generated with IronPDF | © 2025 DevCorp
            </div>
        </body>
        </html>";

        // Use ChromePdfRenderer to render the HTML content as a PDF
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(content);
        pdf.SaveAs("AdvancedStyledReport.pdf");
    }
}
$vbLabelText   $csharpLabel

輸出 PDF 文件

 IronPDF HTML 轉 PDF 輸出

使用IronPDF,您可以獲得具有精確 CSS 樣式的精美 PDF 文件,如上面的程式碼範例所示,這使其成為許多處理複雜 HTML 文件、字串等的開發人員的首選工具。 除了簡單的 HTML 到 PDF 文件轉換任務外, IronPDF還能夠執行高級 PDF 操作任務和 PDF 安全功能。 這使其成為一個優秀的綜合性 PDF 庫。

主要差異和競爭格局

在評估 iTextSharp 和IronPDF時,不僅要考慮它們的功能,還要考慮競爭格局。 其他競爭對手如 Apryse 和 Aspose.PDF 也提供類似的 HTML 轉 PDF 解決方案,但在價格和功能方面各有優劣。

特徵 IronPDF iTextSharp 普里塞 Aspose.PDF
易用性 高的 中等的 高的 中等的
CSS 支援 Full 部分的 Full 滿的
授權 Commercial 開源 Commercial 商業的
支援 出色的 社群 Premium 優質的
定價 來自 $799 免費/商業許可 基於報價 每年1679美元起

IronPDF之所以脫穎而出,是因為它全面支援現代HTML5和CSS3,這對當今大多數開發人員來說至關重要。 IronPDF具有擴展的 PDF 文件操作支援、PDF 文件創建控制、簡化的轉換過程等優點,使其成為一個流行的 PDF 庫。

結論與建議

總之, IronPDFiTextSharp都提供了強大的 C# HTML 轉 PDF 功能,但它們面向的是不同類型的開發人員。 如果您正在尋找擁有強大社群支援的開源解決方案,iTextSharp 或許是理想之選。然而,對於需要易用性、強大的 CSS 支援以及商業解決方案的開發者而言, IronPDF提供了更精簡且功能豐富的體驗。 無論您是想尋找一款能夠自動產生發票、建立品牌 PDF 文檔,還是將整個網頁轉換為 PDF 文件的工具, IronPDF都能滿足您的需求。

立即體驗 IronPDF 的使用者友善功能-下載免費試用版,親身感受 HTML 轉 PDF 的便利性。

請注意iTextSharp 是其各自所有者的註冊商標。 本網站與iTextSharp無任何關聯,亦未獲得其認可或贊助。所有產品名稱、標誌和品牌均為其各自所有者的財產。 比較僅供參考,反映的是撰寫本文時可公開取得的資訊。

常見問題解答

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

您可以使用 IronPDF 的 RenderHtmlAsPdf 方法將 HTML 字串轉換為 PDF,或使用 RenderHtmlFileAsPdf 將 HTML 文件轉換為 PDF。該庫支持現代 HTML5 和 CSS3,確保精確的樣式和渲染。

使用 IronPDF 進行 HTML 到 PDF 轉換的主要優勢是什麼?

IronPDF 提供對現代 HTML5 和 CSS3 的強大支持,使其非常適合處理複雜的網頁內容。其用戶友好的 API 允許與 C# 無縫集成,並且還支持負荷 JavaScript 的內容,確保動態網頁準確轉換。

為什麼開發人員可能會選擇 iTextSharp 而不是 IronPDF?

如果開發人員更喜歡具有靈活客製化選項的開源解決方案,他們可能會選擇 iTextSharp。iTextSharp(現稱 iText7)適合那些有能力處理其複雜性的人,特別是在涉及高級 HTML 和 CSS 時。

IronPDF 能夠處理 HTML 內容中的 JavaScript 嗎?

是的,由於 IronPDF 的先進渲染能力,它可以處理 HTML 內容中的 JavaScript,這使得它成為將動態和互動網頁轉換為 PDF 的合適選擇。

如何在 C# 項目中安裝 IronPDF?

您可以通過 Visual Studio 中的 NuGet 套件管理器安裝 IronPDF。使用命令 Install-Package IronPDF 在套件管理器控制台中或在 NuGet 套件管理器界面中搜尋 IronPDF。

選擇 IronPDF 和 iTextSharp 時應考慮哪些因素?

選擇兩者時,需考慮易用性需求、CSS 和 JavaScript 支持、授權要求和 HTML 內容的複雜性。IronPDF 在現代網頁技術和無縫集成方面表現出色,而 iTextSharp 對於那些喜歡開源解決方案的人而言是一個不錯的選擇。

IronPDF 是否有授權要求?

是的,IronPDF 對於開發環境之外的使用需要商業授權。可根據所需的支持和功能購買授權。

使用 iTextSharp 將 HTML 轉換為 PDF 時有哪些常見問題?

使用 iTextSharp 的常見問題包括處理複雜的 HTML 和 CSS,因為它可能需要附加配置和客製化。開發人員常需要調整其代碼以確保高級網頁內容的正確樣式和渲染。

IronPDF 如何與其他類似 Aspose.PDF 的 PDF 庫相比?

IronPDF 提供了類似於 Aspose.PDF 的易用性和對現代網頁標準的綜合支持。其具競爭力的價格和功能集合使其成為需要可靠的 HTML 到 PDF 轉換並保持質量和性能的開發人員的一個強力選擇。

Curtis Chau
技術作家

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

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me