跳至頁尾內容
PDF工具

IronPDF與DynamicPDF - 全面比較

1. 引言

PDF 是 可攜式文件格式 的縮寫,由 Adobe 開發,用於顯示包含格式化文字和圖像的文件。 我們需要一個單獨的應用程式來打開 PDF 格式的文件。 PDF 在現代世界中扮演重要角色; PDF 文件在大多數行業部門中被用於開票和文件生成。 開發者使用 PDF 來滿足客戶對生成文件的要求。 如今,由於市場上現有的程式庫,PDF 生成變得更容易。 在專案中使用此類程式庫時,我們應考慮如何建立、讀取和轉換等因素; 這將幫助我們決定哪個程式庫最適合我們。

在本文中,我們將比較兩種最受歡迎的 .NET 組件 PDF 程式庫。 這兩個程式庫是:

  • IronPDF
  • DynamicPDF

IronPDF 和 DynamicPDF 程式庫均用於在您的 Microsoft .NET 應用程式、ASP.NET 網頁應用程式以及傳統 Windows 應用程式中建立、讀取或修改 PDF 文件。 我們現在可以比較這兩個程式庫。 為了決定哪一個最適合在我們的應用程式中使用,我們首先要比較這兩個程式庫的功能,然後進行轉換和操作 PDF 文件時的性能分析。 這兩個程式庫都支持 Microsoft .NET Core 框架。

1.1 IronPDF 功能

IronPDF 是一個強大的 HTML 轉換器,可以處理網頁瀏覽器幾乎提供的所有功能。 .NET 程式庫對開發者而言,可以輕鬆用於建立、讀取或修改 PDF 文件。 IronPDF 使用 Chromium 引擎將 HTML 渲染為 PDF,並支持各種 Web 元件,包括 HTML、ASPX、Razor HTML 和 MVC View。 IronPDF 在您的 Microsoft .NET 應用程式中支持文件(包括 ASP.NET 網頁應用程式和傳統的 Windows 應用程式)。

IronPDF 使我們能夠從 HTML5、JavaScript、CSS 和圖像建立文件。 我們還可以新增標題和頁腳到文件中,總體來說,閱讀 PDF 文件變得非常容易。 此外,IronPDF 包含一個強大的 HTML 到 PDF 轉換器,可以處理所有的 PDF 文件。

PDF 文件可以從各種文件型別中建立,包括 HTML、HTML5、ASPX 和 Razor/MVC View。 我們還能夠將圖像文件轉換為 PDF。

從 URL 連結生成文件。 它還允許我們使用自定義網路登入憑據、User-Agent、代理、Cookie、HTTP 標頭及表單變數,以允許在 HTML 登入表單後進行登入。

  • IronPDF 允許我們讀取和填寫現有 PDF 文件中的表單。
  • 它能夠從文件中提取圖像。
  • 它允許我們新增標題、頁腳、文字、圖片、書籤、水印等到文件中。
  • 它允許我們合併和拆分新的或現有的文件頁面。
  • 我們可以將文件轉換為 PDF 物件而不需要 Acrobat Reader。
  • 我們可以將 CSS 文件和媒體型別文件轉換為文件。

1.2 DynamicPDF 功能

DynamicPDF for .NET 是一個 PDF 操作工具,幫助其使用者在 .NET 平臺上建立、編輯、合併、拆分、報告和寫入等功能。 DynamicPDF 提供了七種不同的功能或產品來幫助使用者處理與 PDF 有關的工作。 請參閱以下由 DynamicPDF 提供的產品。

DynamicPDF HTML Converter for .NET

DynamicPDF HTML Converter 將 HTML 轉換為 PDF 和 PDF byte arrays。

DynamicPDF Core Suite for .NET

DynamicPDF Core Suite 是他們的主要產品,處理所有的 PDF 操作,例如建立 PDF、建立 PDF 報告、打包 PDF、PDF/A 相容 PDF、PDF/X 相容 PDF、加印 PDF、標籤 PDF 和模板。

DynamicPDF PrintManager for .NET

此功能提供列印 PDF、傳真 PDF、從 byte array 列印 PDF 和列印多個 PDF。

DynamicPDF Converter for .NET

這提供將多種文件格式轉換為 PDF,使用 .NET 平臺,例如將 HTML、Excel、PowerPoint、Tiff 和 Word 導出為 PDF。

DynamicPDF Rasterizer for .NET

此產品允許使用者將 PDF 轉換為不同的圖像格式,如 JPG、TIFF、BMP、PNG 和 GIF。

DynamicPDF Viewer for .NET

DynamicPDF Viewer 提供打開和查看 PDF 的方法。

  • 打開加密的 PDF
  • 從 Byte Array 打開 PDF
  • 從文件路徑打開 PDF

DynamicBarcode Creator for .NET

此功能允許開發者建立不同型別的條碼。

  • 2D 條碼
  • 線性條碼
  • 郵政條碼

2. 在Visual Studio中建立新專案

打開 Visual Studio 軟體,進入文件選單,選擇新專案。 然後選擇控制台應用程式。 在本文中,我們將使用控制台應用程式生成PDF文件。

輸入專案名稱,然後在適當的文字框中選擇文件路徑。 然後,點擊建立按鈕。 還要選擇所需的 .NET Framework。

Visual Studio 專案現在將生成所選應用程式的結構,如果您選擇控制台、Windows 和網頁應用程式,它將打開 program.cs 文件,您可以在其中輸入程式碼並構建/運行應用程式。

接下來,我們可以新增程式庫以測試程式碼。

3. 安裝 IronPDF 程式庫

IronPDF 程式庫可以通過四種不同的方法下載和安裝。

這些是:

  • 使用 Visual Studio。
  • 使用 Visual Studio 命令行。
  • 從 NuGet 網站直接下載。
  • 從 IronPDF 官網直接下載。

3.1 使用Visual Studio

Visual Studio 軟體提供了 NuGet 套件管理選項,直接將套件安裝到方案中。

它提供搜索框以顯示來自 NuGet 網站的套件清單。在套件管理器中,我們需要搜索關鍵字 "IronPDF"。

3.2 使用Visual Studio命令行

  • 在 Microsoft Visual Studio 中,移至工具 -> NuGet 套件管理器 -> 套件管理控制台
  • 在套件管理控制台標籤中輸入以下行:
Install-Package IronPdf

現在套件將下載/安裝到當前專案,並準備好使用。

3.3 從NuGet網站直接下載

第三種方式是從網站直接下載NuGet package。

  • 導航至 IronPDF NuGet 套件
  • 從右側選單中選擇下載套件選項。
  • 雙擊下載的套件。 將自動安裝。
  • 現在重新載入方案,並在專案中開始使用它。

3.4 從IronPDF網站直接下載

存取 IronPDF 官方網站 從網站直接下載最新的套件。下載後,請按照以下步驟將包新增到專案中。

  • 在方案窗口中右鍵單擊專案。
  • 然後,選擇參考選項並瀏覽到所下載的參考位置。
  • 點擊確認新增參考。

4. 安裝 DynamicPDF 程式庫

NuGet 套件

DynamicPDF Core Suite 可在 NuGet 上獲取,是 ceTe.DynamicPDF.CoreSuite.NET 套件的一部分。 安裝套件的最簡單方法是使用 Visual Studio 套件管理器。 您也可以直接從 NuGet 下載套件。

NuGet Package ID: ceTe.DynamicPDF.CoreSuite.NET

DynamicPDF Core Suite 資訊

可以在 DynamicPDF Core Suite 技術文件 中找到更多資訊。

可在其他平臺上使用。 DynamicPDF Core Suite 可用於 Java 和 COM/ActiveX 平臺。 請參閱相關產品頁面以獲取更多詳情。

4.1 技術文件

技術文件有線上和 .chm 文件兩種形式,後者是安裝在主機本機上。

4.2 範例

範例應用程式展示了 DynamicPDF 所提供的功能。 這些也安裝在主機機器上的本地。

存取 DynamicPDF GitHub 儲存庫 以獲取範例應用程式。

4.3 實用工具

可能需要安裝其他實用工具以便使用產品。 例如,將 HTML 新增到 PDF 的工具。

4.3.1 新增 DynamicPDF 參考 NuGet 套件

DynamicPDF HTML Converter、DynamicPDF Core Suite 和 DynamicPDF Converter 全都可經由 NuGet 獲取。 安裝套件的最簡單方法是透過 Visual Studio 套件管理器。

DynamicPDF HTML Converter 在 NuGet 上可用於 ceTe.DynamicPDF.HtmlConverter.NET 套件。

DynamicPDF Core Suite 可在 NuGet 上獲取,是 ceTe.DynamicPDF.CoreSuite.NET 套件的一部分。

DynamicPDF Converter 可在 NuGet 上獲取,是 ceTe.DynamicPDF.Converter.NET 套件的一部分。

GitHub 範例專案

在 GitHub 上克隆或查看範例專案: DynamicPDF 範例專案

DynamicPDF Converter 與 Generator 資訊

所有這三個產品的更多資訊可以透過以下方式獲得:

5. 從 URL 建立可攜式文件格式

這兩個 PDF 程式庫都具有可以處理強大HTML 到 PDF 轉換的轉換器。 讓我們來看看如何建立 PDF 文件。

5.1 使用 IronPDF

IronPDF 使我們可以輕鬆建立 PDF。 它從 URL 渲染 HTML 文件並將其轉換為 PDF 文件。

以下方法幫助我們輕鬆建立 PDF 文件:

// Initialize a new instance of the ChromePdfRenderer class.
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Render a PDF from a given URL and save it as "result.pdf".
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");

// Alternatively, chain the method calls
new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf");
// Initialize a new instance of the ChromePdfRenderer class.
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Render a PDF from a given URL and save it as "result.pdf".
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");

// Alternatively, chain the method calls
new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf");
' Initialize a new instance of the ChromePdfRenderer class.
Dim Renderer As New IronPdf.ChromePdfRenderer()

' Render a PDF from a given URL and save it as "result.pdf".
Dim Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/")
Pdf.SaveAs("result.pdf")

' Alternatively, chain the method calls
Call (New IronPdf.ChromePdfRenderer()).RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf")
$vbLabelText   $csharpLabel

在上面的範例中,我們使用兩種方法將連結轉換為文件。 一種方法涉及建立 IronPDF 物件,而另一種方法則直接連結 RenderUrlAsPdf 調用。

5.2 使用 DynamicPDF

強大的 HTML 到 PDF 轉換器是 DynamicPDF 提供的一項功能。 它將任何 HTML 或標記文件轉換為 PDF。 以下是一個使用 DynamicPDF 輕鬆建立 PDF 的範例。

// Convert a specified URL to a PDF file.
Converter.Convert("http://www.google.com", pdfFilePath);
// Convert a specified URL to a PDF file.
Converter.Convert("http://www.google.com", pdfFilePath);
' Convert a specified URL to a PDF file.
Converter.Convert("http://www.google.com", pdfFilePath)
$vbLabelText   $csharpLabel

此範例展示了從 HTML(指定的 URL)到 PDF 的簡單文件轉換。

6. 從 HTML 建立可攜式文件格式

IronPDF 和 DynamicPDF 均提供了一種將 HTML 字串轉換為 PDF 的簡便方法。

6.1 使用 IronPDF

借助 IronPDF,我們可以將 HTML 字串轉換為 PDF 文件。 以下是將 HTML 字串轉換為文件的範例。 它還允許將任何 HTML 標籤轉換為 PDF 文件。

// Convert an HTML string to a PDF and save it as "result.pdf".
var Renderer = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
// Convert an HTML string to a PDF and save it as "result.pdf".
var Renderer = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
' Convert an HTML string to a PDF and save it as "result.pdf".
Dim Renderer = (New IronPdf.ChromePdfRenderer()).RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf")
$vbLabelText   $csharpLabel

以上範例展示了我們能夠使用 RenderHtmlAsPdf 轉換 HTML 字串的能力。

6.2 使用 DynamicPDF

DynamicPDF 也幫助我們將 HTML 字串轉換為文件。 以下是用於轉換 HTML 字串的範例。

// Define a simple HTML string with a table.
string sampleHtml = "<html><body><p>This is a very simple HTML string including a Table below.</p>" +  
                    "<h4>Two rows and three columns:</h4><table border=\"1\"><tr><td>100</td><td>200</td>" +  
                    "<td>300</td></tr><tr><td>400</td><td>500</td><td>600</td></tr></table></body></html>";

// Convert the HTML string to a PDF file.
Converter.ConvertHtmlString(sampleHtml, pdfFilePath); 
// Define a simple HTML string with a table.
string sampleHtml = "<html><body><p>This is a very simple HTML string including a Table below.</p>" +  
                    "<h4>Two rows and three columns:</h4><table border=\"1\"><tr><td>100</td><td>200</td>" +  
                    "<td>300</td></tr><tr><td>400</td><td>500</td><td>600</td></tr></table></body></html>";

// Convert the HTML string to a PDF file.
Converter.ConvertHtmlString(sampleHtml, pdfFilePath); 
' Define a simple HTML string with a table.
Dim sampleHtml As String = "<html><body><p>This is a very simple HTML string including a Table below.</p>" & "<h4>Two rows and three columns:</h4><table border=""1""><tr><td>100</td><td>200</td>" & "<td>300</td></tr><tr><td>400</td><td>500</td><td>600</td></tr></table></body></html>"

' Convert the HTML string to a PDF file.
Converter.ConvertHtmlString(sampleHtml, pdfFilePath)
$vbLabelText   $csharpLabel

以下範例展示了特定 HTML 字串到 PDF 的轉換。

7. 閱讀可攜式文件格式文件

我們可以使用 IronPDF 和 DynamicPDF 來閱讀 PDF 文件。

7.1 使用 IronPDF

IronPDF 幫助我們閱讀現有的 PDF 文件。 以下是使用 IronPDF 讀取現有 PDF 的範例。

// Read an existing PDF file and convert it into a PDF document object.
var pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf");
// Read an existing PDF file and convert it into a PDF document object.
var pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf");
' Read an existing PDF file and convert it into a PDF document object.
Dim pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf")
$vbLabelText   $csharpLabel

上述程式碼調用 FromFile 方法,用於從現有文件中讀取 PDF 並將其轉換為 PDF 文件物件。

7.2 使用 DynamicPDF

DynamicPDF 也幫助我們在 Microsoft .NET 應用程式中讀取現有 PDF,以及 ASP.NET 網頁應用程式和傳統的 Windows 應用。 以下是讀取 PDF 文件資料的範例。

以下步驟和範本程式碼演示了如何使用 Rasterizer 產品從文件路徑打開 PDF。

從文件路徑打開 PDF 的步驟

  1. 提供文件路徑,使用 PDF Viewer 打開 PDF 文件。

範本程式碼 - C#

// Open the PDF from a specified file path.
pdfViewer.Open(@"C:\DocumentA.pdf");
// Open the PDF from a specified file path.
pdfViewer.Open(@"C:\DocumentA.pdf");
' Open the PDF from a specified file path.
pdfViewer.Open("C:\DocumentA.pdf")
$vbLabelText   $csharpLabel

Bootstrap PDF 功能比較

現代 PDF 生成需要對當代網路技術提供強有力的支持。 這次互動式比較展示了 IronPDF 如何利用 Bootstrap 5 來建立具有高級佈局和樣式的專業 PDF 文件。

using IronPdf;

var renderer = new ChromePdfRenderer();

string pdfFeaturesTable = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .feature-badge { font-size: 0.75rem; padding: 0.25rem 0.5rem; }
        .metric-card { border-left: 4px solid #0d6efd; }
        @media print { .table { page-break-inside: avoid; } }
    </style>
</head>
<body class='bg-light'>
    <div class='container py-4'>
        <div class='row g-3 mb-4'>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>HTML Rendering</h6>
                        <h3 class='mb-0'>Chrome V8</h3>
                        <span class='badge bg-success feature-badge mt-2'>Chromium Engine</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>Rendering Speed</h6>
                        <h3 class='mb-0'>&lt;1.5s</h3>
                        <span class='badge bg-info feature-badge mt-2'>Complex HTML</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>CSS Support</h6>
                        <h3 class='mb-0'>CSS3 Full</h3>
                        <span class='badge bg-primary feature-badge mt-2'>Flexbox + Grid</span>
                    </div>
                </div>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>PDF Generation Capabilities Comparison</h5>
            </div>
            <div class='card-body p-0'>
                <div class='table-responsive'>
                    <table class='table table-hover mb-0'>
                        <thead class='table-light'>
                            <tr>
                                <th>Feature</th>
                                <th>IronPDF</th>
                                <th>DynamicPDF</th>
                                <th>Advantage</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td><strong>HTML to PDF</strong></td>
                                <td><span class='badge bg-success'>Full Support</span></td>
                                <td><span class='badge bg-success'>Supported</span></td>
                                <td>Both</td>
                            </tr>
                            <tr>
                                <td><strong>JavaScript Execution</strong></td>
                                <td><span class='badge bg-success'>Native</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>CSS3 Layouts</strong></td>
                                <td><span class='badge bg-success'>Flexbox/Grid</span></td>
                                <td><span class='badge bg-warning text-dark'>Basic</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Web Fonts</strong></td>
                                <td><span class='badge bg-success'>Google Fonts</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Image Formats</strong></td>
                                <td><span class='badge bg-success'>All Modern</span></td>
                                <td><span class='badge bg-success'>Standard</span></td>
                                <td>Both</td>
                            </tr>
                            <tr>
                                <td><strong>Form Fields</strong></td>
                                <td><span class='badge bg-success'>Interactive</span></td>
                                <td><span class='badge bg-success'>Supported</span></td>
                                <td>Both</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
            <div class='card-footer text-muted'>
                <small><strong>Note:</strong> DynamicPDF focuses on programmatic PDF creation while IronPDF excels at HTML-to-PDF conversion with modern web standards.</small>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(pdfFeaturesTable);
pdf.SaveAs("pdf-features-comparison.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string pdfFeaturesTable = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .feature-badge { font-size: 0.75rem; padding: 0.25rem 0.5rem; }
        .metric-card { border-left: 4px solid #0d6efd; }
        @media print { .table { page-break-inside: avoid; } }
    </style>
</head>
<body class='bg-light'>
    <div class='container py-4'>
        <div class='row g-3 mb-4'>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>HTML Rendering</h6>
                        <h3 class='mb-0'>Chrome V8</h3>
                        <span class='badge bg-success feature-badge mt-2'>Chromium Engine</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>Rendering Speed</h6>
                        <h3 class='mb-0'>&lt;1.5s</h3>
                        <span class='badge bg-info feature-badge mt-2'>Complex HTML</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>CSS Support</h6>
                        <h3 class='mb-0'>CSS3 Full</h3>
                        <span class='badge bg-primary feature-badge mt-2'>Flexbox + Grid</span>
                    </div>
                </div>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>PDF Generation Capabilities Comparison</h5>
            </div>
            <div class='card-body p-0'>
                <div class='table-responsive'>
                    <table class='table table-hover mb-0'>
                        <thead class='table-light'>
                            <tr>
                                <th>Feature</th>
                                <th>IronPDF</th>
                                <th>DynamicPDF</th>
                                <th>Advantage</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td><strong>HTML to PDF</strong></td>
                                <td><span class='badge bg-success'>Full Support</span></td>
                                <td><span class='badge bg-success'>Supported</span></td>
                                <td>Both</td>
                            </tr>
                            <tr>
                                <td><strong>JavaScript Execution</strong></td>
                                <td><span class='badge bg-success'>Native</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>CSS3 Layouts</strong></td>
                                <td><span class='badge bg-success'>Flexbox/Grid</span></td>
                                <td><span class='badge bg-warning text-dark'>Basic</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Web Fonts</strong></td>
                                <td><span class='badge bg-success'>Google Fonts</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Image Formats</strong></td>
                                <td><span class='badge bg-success'>All Modern</span></td>
                                <td><span class='badge bg-success'>Standard</span></td>
                                <td>Both</td>
                            </tr>
                            <tr>
                                <td><strong>Form Fields</strong></td>
                                <td><span class='badge bg-success'>Interactive</span></td>
                                <td><span class='badge bg-success'>Supported</span></td>
                                <td>Both</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
            <div class='card-footer text-muted'>
                <small><strong>Note:</strong> DynamicPDF focuses on programmatic PDF creation while IronPDF excels at HTML-to-PDF conversion with modern web standards.</small>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(pdfFeaturesTable);
pdf.SaveAs("pdf-features-comparison.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

Dim pdfFeaturesTable As String = "
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .feature-badge { font-size: 0.75rem; padding: 0.25rem 0.5rem; }
        .metric-card { border-left: 4px solid #0d6efd; }
        @media print { .table { page-break-inside: avoid; } }
    </style>
</head>
<body class='bg-light'>
    <div class='container py-4'>
        <div class='row g-3 mb-4'>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>HTML Rendering</h6>
                        <h3 class='mb-0'>Chrome V8</h3>
                        <span class='badge bg-success feature-badge mt-2'>Chromium Engine</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>Rendering Speed</h6>
                        <h3 class='mb-0'>&lt;1.5s</h3>
                        <span class='badge bg-info feature-badge mt-2'>Complex HTML</span>
                    </div>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='card metric-card h-100'>
                    <div class='card-body'>
                        <h6 class='text-muted text-uppercase'>CSS Support</h6>
                        <h3 class='mb-0'>CSS3 Full</h3>
                        <span class='badge bg-primary feature-badge mt-2'>Flexbox + Grid</span>
                    </div>
                </div>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>PDF Generation Capabilities Comparison</h5>
            </div>
            <div class='card-body p-0'>
                <div class='table-responsive'>
                    <table class='table table-hover mb-0'>
                        <thead class='table-light'>
                            <tr>
                                <th>Feature</th>
                                <th>IronPDF</th>
                                <th>DynamicPDF</th>
                                <th>Advantage</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td><strong>HTML to PDF</strong></td>
                                <td><span class='badge bg-success'>Full Support</span></td>
                                <td><span class='badge bg-success'>Supported</span></td>
                                <td>Both</td>
                            </tr>
                            <tr>
                                <td><strong>JavaScript Execution</strong></td>
                                <td><span class='badge bg-success'>Native</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>CSS3 Layouts</strong></td>
                                <td><span class='badge bg-success'>Flexbox/Grid</span></td>
                                <td><span class='badge bg-warning text-dark'>Basic</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Web Fonts</strong></td>
                                <td><span class='badge bg-success'>Google Fonts</span></td>
                                <td><span class='badge bg-warning text-dark'>Limited</span></td>
                                <td>IronPDF</td>
                            </tr>
                            <tr>
                                <td><strong>Image Formats</strong></td>
                                <td><span class='badge bg-success'>All Modern</span></td>
                                <td><span class='badge bg-success'>Standard</span></td>
                                <td>Both</td>
                            </tr>
                            <tr>
                                <td><strong>Form Fields</strong></td>
                                <td><span class='badge bg-success'>Interactive</span></td>
                                <td><span class='badge bg-success'>Supported</span></td>
                                <td>Both</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
            <div class='card-footer text-muted'>
                <small><strong>Note:</strong> DynamicPDF focuses on programmatic PDF creation while IronPDF excels at HTML-to-PDF conversion with modern web standards.</small>
            </div>
        </div>
    </div>
</body>
</html>"

Dim pdf = renderer.RenderHtmlAsPdf(pdfFeaturesTable)
pdf.SaveAs("pdf-features-comparison.pdf")
$vbLabelText   $csharpLabel

輸出:一份包含 Bootstrap 5 卡片、響應式表格以及顏色標示徽章的功能比較專業 PDF 文件。 IronPDF 精準渲染所有 Bootstrap 組件,包括 flexbox 布局、實用程式類別和現代卡片系統。

有關 Bootstrap 相容性的更多資訊,請參見 Bootstrap & Flexbox CSS 指南

8. 合併可攜式文件格式文件

IronPDF 和 DynamicPDF 都有助於在 Microsoft .NET 應用中將多個文件合併為一個。 借助這些程式庫,我們可以輕鬆合併文件。

8.1 使用 IronPDF

IronPDF 幫助我們將多個文件合併為一個文件。

// Create a list of PDF documents to merge.
var pdfDocuments = new List<IronPdf.PdfDocument>();
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));

// Merge the list of documents and save the merged document.
var mergedPdfDocument = IronPdf.PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("Ironpdfmerged.pdf");
// Create a list of PDF documents to merge.
var pdfDocuments = new List<IronPdf.PdfDocument>();
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));

// Merge the list of documents and save the merged document.
var mergedPdfDocument = IronPdf.PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("Ironpdfmerged.pdf");
' Create a list of PDF documents to merge.
Dim pdfDocuments = New List(Of IronPdf.PdfDocument)()
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"))
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"))

' Merge the list of documents and save the merged document.
Dim mergedPdfDocument = IronPdf.PdfDocument.Merge(pdfDocuments)
mergedPdfDocument.SaveAs("Ironpdfmerged.pdf")
$vbLabelText   $csharpLabel

8.2 使用 DynamicPDF

DynamicPDF 同樣幫助我們將多個文件合併為一個文件。 以下是一個展示如何合併文件的範例。

// Create a MergeDocument object to begin merging.
MergeDocument document = new MergeDocument("DocumentA.pdf");

// Append additional documents.
document.Append("DocumentB.pdf");
document.Append("DocumentC.pdf");

// Draw the merged document to an output file.
document.Draw("output.pdf");
// Create a MergeDocument object to begin merging.
MergeDocument document = new MergeDocument("DocumentA.pdf");

// Append additional documents.
document.Append("DocumentB.pdf");
document.Append("DocumentC.pdf");

// Draw the merged document to an output file.
document.Draw("output.pdf");
' Create a MergeDocument object to begin merging.
Dim document As New MergeDocument("DocumentA.pdf")

' Append additional documents.
document.Append("DocumentB.pdf")
document.Append("DocumentC.pdf")

' Draw the merged document to an output file.
document.Draw("output.pdf")
$vbLabelText   $csharpLabel

9. 拆分可攜式文件格式文件

IronPDF 和 DynamicPDF 程式庫允許使用者將頁面拆分為單獨的文件。 兩者都提供了完成該過程的簡便方法。

9.1 使用 IronPDF

IronPDF 允許我們將單頁和多頁轉換為單獨的文件。 以下是將拆分頁面建立為單獨文件的範例。

// Load the PDF document to be split.
var Splitdocument = IronPdf.PdfDocument.FromFile("Ironpdfmerged.pdf");

// Copy specific page(s) from the document and save it to a new file.
Splitdocument.CopyPages(0, 0).SaveAs("Ironpdfsplit.pdf");
// Load the PDF document to be split.
var Splitdocument = IronPdf.PdfDocument.FromFile("Ironpdfmerged.pdf");

// Copy specific page(s) from the document and save it to a new file.
Splitdocument.CopyPages(0, 0).SaveAs("Ironpdfsplit.pdf");
' Load the PDF document to be split.
Dim Splitdocument = IronPdf.PdfDocument.FromFile("Ironpdfmerged.pdf")

' Copy specific page(s) from the document and save it to a new file.
Splitdocument.CopyPages(0, 0).SaveAs("Ironpdfsplit.pdf")
$vbLabelText   $csharpLabel

9.2 使用 DynamicPDF

DynamicPDF 也允許我們將單個文件頁面拆分為多個文件。 以下是將特定文件頁面拆分為另一個文件的範例。

// Create a PdfDocument object for the original document.
PdfDocument pdf = new PdfDocument("DocumentA.pdf");

// Split the document into parts and save each part as a separate PDF.
MergeDocument part1 = new MergeDocument(pdf, 1, 4);
part1.Draw("output-part1.pdf");
MergeDocument part2 = new MergeDocument(pdf, 5, 8);
part2.Draw("output-part2.pdf");
// Create a PdfDocument object for the original document.
PdfDocument pdf = new PdfDocument("DocumentA.pdf");

// Split the document into parts and save each part as a separate PDF.
MergeDocument part1 = new MergeDocument(pdf, 1, 4);
part1.Draw("output-part1.pdf");
MergeDocument part2 = new MergeDocument(pdf, 5, 8);
part2.Draw("output-part2.pdf");
' Create a PdfDocument object for the original document.
Dim pdf As New PdfDocument("DocumentA.pdf")

' Split the document into parts and save each part as a separate PDF.
Dim part1 As New MergeDocument(pdf, 1, 4)
part1.Draw("output-part1.pdf")
Dim part2 As New MergeDocument(pdf, 5, 8)
part2.Draw("output-part2.pdf")
$vbLabelText   $csharpLabel

10. 授權

DynamicPDF 是一個程式庫,允許我們從不同來源(例如 HTML 字串和 HTML 連結)建立 PDF 文件,以及拆分和合併文件。 DynamicPDF 提供不同的價格結構,最低價格從 $799 開始;單一授權。 開發者授權是免費的,因此我們可以嘗試使用。 查看 DynamicPDF 在 DynamicPDF 價格頁面 上的價格結構。

IronPDF 也是一個程式庫,並提供免費的開發者授權。 IronPDF 也有不同的價格結構。 Lite 套餐從 $999 開始,無需持續成本,包括 SaaS 和 OEM 再分發。 所有授權包括 30 天退款保證、產品支援和更新一年,適用於開發/測試環境/生產環境。 此外,還有永久授權(一 - 次性購買)。 存取 IronPDF 價格頁面 檢查 IronPDF 的完整價格結構和授權。

11. 結論

在本文中,我們比較了 IronPDF 和 DynamicPDF。 我們探討了一些兩個程式庫都具備的常見功能。 IronPDF 考慮使用者的 Chrome 設置來渲染 HTML,而 DynamicPDF 執行於一個獨立引擎,該引擎忽略當前使用者設置來渲染 HTML。 IronPDF 在速度上比 DynamicPDF 更快地渲染 HTML。

在性能方面,IronPDF 使用 Chromium 渲染引擎,能夠原生處理現代 HTML5、CSS3 和 JavaScript,而 DynamicPDF 則在一個獨立引擎上運行,對網路標準的支持較為有限。 IronPDF 的免版稅再分發範圍需支付額外費用才能獲得,而 DynamicPDF 並不提供此功能。 IronPDF 還比 DynamicPDF 提供了更多的功能。

總之,我們更喜歡 IronPDF 因為它的高性能水平和可供處理 PDF 的開發者眾多功能可用。 IronPDF 還提供良好的支援和充分的文件,幫助我們利用其所有功能。

請注意DynamicPDF 是其各自所有者的註冊商標。 此網站未與 DynamicPDF 聯繫,也未被其認可或贊助。 所有產品名稱、徽標和品牌均為其各自所有者的財產。 比較僅供資訊參考,並反映了撰寫時的公開可用資訊。

常見問題

我如何在 .NET 應用程式中將 HTML 轉換為 PDF?

您可以使用IronPDF的RenderHtmlAsPdf方法將HTML字串轉換為PDF。此方法利用基於Chromium的引擎以確保高保真渲染。

使用IronPDF進行PDF操作有什麼優勢?

IronPDF提供優越的速度和性能,特別是在HTML到PDF的轉換中,因為它使用Chromium引擎。它還支持擴展的PDF操作,如新增頁眉、頁腳和書籤,以及合併和拆分文件。

IronPDF有哪些安裝選項?

IronPDF可以通過Visual Studio的NuGet套件管理器、Visual Studio命令行安裝,或直接從NuGet或IronPDF網站下載。

我可以使用IronPDF合併PDF文件嗎?

是的,IronPDF提供將多個PDF文件合併為單個文件的功能,便於文件管理和操作。

IronPDF提供哪些授權選項?

IronPDF提供免費開發者授權和各種商業授權選項。它提供有利的定價結構,使開發者在不同規模上都能夠負擔。

IronPDF有提供開發者支援和文件嗎?

是的,IronPDF提供強大的支援和全面的文件,以幫助開發者有效利用其功能。

IronPDF和DynamicPDF在HTML到PDF轉換速度上如何比較?

IronPDF通常比DynamicPDF在HTML到PDF轉換中更快,因為它使用Chromium引擎,確保高效和高性能的渲染。

為什麼開發者可能選擇IronPDF而非DynamicPDF?

開發者可能選擇IronPDF是因為其豐富的功能,利用Chromium引擎的快速渲染能力,以及有利的授權選項,使其成為.NET PDF處理的最佳選擇。

IronPDF在PDF處理上的一些關鍵功能是什麼?

IronPDF支持將HTML、ASPX和Razor HTML轉換為PDF,並提供如新增頁眉和頁腳、建立書籤以及整合CSS和圖片等功能。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話