產品比較

IronPDF 和 ExpertPDF for .NET 的比較

發佈 2023年3月12日
分享:

開發人員在用C#讀取、寫入、創建或轉換PDF時,總是面臨挑戰。然而,隨著眾多庫的出現,這些問題得到了有效解決,且這些庫的簡單集成使其在C#應用程式中越來越受歡迎和易用。

本文旨在比較兩個最受.NET Framework和.NET Core開發人員歡迎的PDF庫:

  • IronPDF
  • ExpertPDF

這兩個庫都是.NET C#庫,它們提供了生成、轉換和編輯PDF的方法,適用於.NET和.NET Core。我們主要的問題是要決定哪個C# PDF庫最適合我們的項目。在本文中,我們將以最全面的方式比較這兩個庫,突顯它們的突出特點,讓您在為項目選擇合適的庫時能夠做出明智的決定。

首先,讓我們看看這兩個庫各自提供了什麼功能,然後再進行具體的比較。

IronPDF 程式庫

IronPDF 是一個全方位的 .NET PDF 程式庫解決方案,對於 C# 開發人員特別有幫助。使用這個程式庫,你可以輕鬆實現所有需要的功能,以建立一個優秀的 PDF 閱讀器或 PDF 檢視器。

IronPDF 具有一個 .NET Chromium 引擎,可以將 HTML 內容渲染為 PDF 文件,這使得設計或定位 PDF 變得更加簡單,而不需要複雜的 API。其 HTML to PDF 轉換器允許使用 HTML5、CSS、JavaScript 及圖片來建立 .NET PDF 程式庫。此外,它還允許你編輯 PDF、添加頁眉和頁腳,以及輕鬆從 PDF 中提取圖片。此外,它讓閱讀 PDF 文字成為一個簡單直接的過程。

功能

建立 PDF 檔案 (HTML轉PDF)

  • 從 HTML、CSS 和 JavaScript 建立 PDF 檔案
  • 從網站 URL 生成 PDF 文件

  • 使用自定義登入憑證載入網頁 URL

無需 Adobe Acrobat Reader 的 PDF 編輯器

  • 填寫和讀取完全可編輯的 PDF 表單數據欄位
  • 從 PDF 中提取文字和圖像
  • 在任何現有頁面上添加 HTML 內容
  • 添加 HTML 頭部和頁腳
  • 添加註釋並對 PDF 文檔進行數位簽名

操作 PDF 文件

  • 加載和解析現有文件
  • 合併和拆分文件內容

  • 添加水印、文字和資源

轉換多種檔案格式

  • 僅需三行代碼即可轉換ASPX WebForms
  • 將HTML轉換為PDF檔案

  • 圖片 (PNG,JPG,GIF,TIFF) 匯出為 PDF

儲存和列印

  • 將檔案儲存為二進制資料或 MemoryStreams
  • 列印 CSS 媒體類型

  • 將 PDF 檔案轉換為列印文件物件,且無需使用 Adobe 列印

專家PDF

專家PDF 它也是一個 .NET 函式庫,提供開發人員即時將 HTML 轉換為 PDF。如果您需要生成 PDF 報告或製作 PDF 閱讀器,您再也不必使用複雜的報告生成軟體。

專家PDF 簡單易用,但它是一個功能強大的 PDF 編輯器。它包含一個高級的 HTML 到 PDF 轉換器,能在幾分鐘內實現於任何 .NET 應用程式中。它與 .NET Framework、.NET Core、.NET 5 和 .NET 6 兼容。

它是一個強大 .NET 函式庫,幫助您在任何 .NET Framework 或 .NET Core 應用程式中,從任意網頁 URL 或原始 HTML 標記、字串或檔案創建 PDF 閱覽器和文件。

突出功能

以下是主要功能:

  • 將 URL 網頁轉換為 PDF
  • 將 HTML 字串轉換為 PDF
  • 多種輸出文件選項
  • 設定頁邊距和尺寸
  • 設定頁眉和頁尾
  • 添加自動和自定義分頁符
  • 僅將網頁的特定部分轉換為 PDF
  • 將轉換為 PDF 時隱藏頁面上的特定元素
  • 將多個網頁合併為單個 PDF
  • 將需要身份驗證的網頁轉換為 PDF
  • 選擇 CSS 媒體 (螢幕或列印) 類型用於渲染
  • 支援書籤
  • 支援數位簽名
  • 檢索 PDF 中的 HTML 元素位置
  • 支援最新的 HTML5/CSS3
  • 支援像 open type 和 true type 這樣的網頁字體

  • 檔案類型轉換:

    • PDF 轉文字轉換器

    • HTML 轉 PDF 轉換器

    • HTML 轉圖像轉換器

    • PDF 轉圖像轉換器

    • RTF 轉 PDF 轉換器

本文的其餘部分將涵蓋以下主題:

  1. 創建一個控制台專案

  2. 安裝 IronPDF

  3. 安裝 ExpertPDF

  4. 從 URL 創建 PDF

  5. 從 HTML 輸入字符串創建 PDF

  6. 合併多個 PDF 成為一個 PDF

  7. 將圖像轉換為 PDF

  8. 許可和定價

  9. 結論

1. 創建一個控制台項目

按照以下步驟使用 Visual Studio 2022 在 C# 中創建一個控制台應用程式:

  • 打開 Visual Studio 2022 並點擊創建新的項目
IronPDF 與 ExpertPDF for .NET 的比較:圖 1:Visual Studio

Visual Studio 2022

  • 選擇 C# 主控台應用程式並點擊下一步。
A Comparison between IronPDF and ExpertPDF for .NET: Figure 2: 新專案對話框

新專案對話框

  • 接下來的畫面,輸入您的專案名稱並點擊下一步
A Comparison between IronPDF and ExpertPDF for .NET: Figure 3: 網頁表單

網頁表單

  • 選擇適用於您的應用程式的 .NET Framework。我們將使用最新的 6.0 版本。
A Comparison between IronPDF and ExpertPDF for .NET: Figure 4: 附加資訊

附加資訊

現在我們的控制台專案已經建立,並且我們已經準備好測試我們的函式庫。然而,我們還需要將它們集成到我們的專案中。讓我們先安裝 IronPDF。

2. IronPDF 安裝

有多種方法可以下載並安裝 IronPDF 函式庫。如下:

  1. 使用 Visual Studio

  2. 直接下載 NuGet 套件

  3. 下載 IronPDF .DLL 函式庫

2.1. 使用 Visual Studio

Visual Studio 本身提供了 NuGet 套件管理器來安裝 C# 專案中的所有 NuGet 套件。您可以通過以下方式訪問它:

  • 專案選單工具,或
  • 在方案總管中右鍵點擊專案
A Comparison between IronPDF and ExpertPDF for .NET: Figure 5: 解決方案總管

解決方案總管

<div class="content-img-align-center">
    <div class="center-image-wrapper">
        <img src="/static-assets/pdf/blog/expert-pdf-net-library-alternatives/expert-pdf-net-library-alternatives-6.webp" alt="A Comparison between IronPDF and ExpertPDF for .NET: Figure 6: 專案選單 &gt; 管理 NuGet 套件" class="img-responsive add-shadow">
    </div>
    <p class="content__image-caption">專案選單 &gt; 管理 NuGet 套件</p>
</div>

選擇後,瀏覽 IronPDF NuGet 套件並安裝,如下圖所示:

A Comparison between IronPDF and ExpertPDF for .NET: Figure 7: 從 NuGet 套件安裝 IronPDF

從 NuGet 套件安裝 IronPDF

2.2. 直接下載 NuGet 套件

另一種方法是從 NuGet 網站下載 IronPDF。直接訪問 NuGet 並下載套件。請按照以下步驟操作:

2.4. 安裝 IronPDF: 下載庫文件

您還可以從 IronPDF 網站直接下載 IronPDF .DLL 文件。點擊IronPDF DLL下載 安裝。

接下來,按照以下步驟在您的項目中引用IronPDF:

  • 在解決方案資源管理器中右鍵點擊解決方案
  • 選擇「參考」選項
  • 瀏覽IronPDF.dll庫
  • 單擊確定就完成了!

全都完成了! IronPDF 已經安裝完成,並準備使用。然而,在此之前,我們將安裝 ExpertPDF 進行比較。

3. ExpertPDF 安裝

有兩種方法可以下載和安裝 ExpertPDF 庫:

  • 使用 Visual Studio NuGet 套件管理器適用於 .NET Framework、.NET Core、.NET 5、.NET 6
  • 下載組件 (舊版 .NET Framework)

我們將使用新的 .NET Framework,因此我們將使用 NuGet 套件管理員安裝 ExpertPDF。

3.1. 使用 Visual Studio NuGet 套件管理員

正如 IronPDF 一樣,您可以透過以下方式使用 NuGet 套件管理員:

  • 專案選單工具
  • 在方案總管中右鍵點擊專案
A Comparison between IronPDF and ExpertPDF for .NET: Figure 8: 解決方案總管

解決方案總管

<div class="content-img-align-center">
    <div class="center-image-wrapper">
        <img src="/static-assets/pdf/blog/expert-pdf-net-library-alternatives/expert-pdf-net-library-alternatives-9.webp" alt="A Comparison between IronPDF and ExpertPDF for .NET: Figure 9: 專案選單 &gt; 管理 NuGet 套件" class="img-responsive add-shadow">
    </div>
    <p class="content__image-caption">專案選單 &gt; 管理 NuGet 套件</p>
</div>

選擇後,瀏覽並安裝ExpertPDF NuGet套件,如下所示:

A Comparison between IronPDF and ExpertPDF for .NET: Figure 10:  ExpertPDF 套件

ExpertPDF 套件

注意: ExpertPDF 僅支援 Windows 作業系統。

4. 從 URL 建立 PDF

這兩個庫都具有將 HTML 標記轉換為 PDF 的能力。現在,讓我們依次看看每個庫的 C# 代碼。

4.1. URL 轉換為 PDF 使用 IronPDF

IronPDF 將現有的 URL 渲染為 PDF 時非常簡單。它對 CSS、JavaScript、圖像和表單有非常高的支援。

以下的程式碼範例直接從網站 URL 創建 PDF。

using IronPdf;

ChromePdfRenderer Renderer = new ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
 
Pdf.SaveAs("url.pdf");
using IronPdf;

ChromePdfRenderer Renderer = new ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
 
Pdf.SaveAs("url.pdf");
Imports IronPdf

Private Renderer As New ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
'
Pdf.SaveAs("url.pdf")
VB   C#
IronPDF與ExpertPDF for .NET之比較:圖11:URL到PDF輸出

使用 IronPDF 將 URL 轉換成 PDF

4.2. 使用 ExpertPDF 將 URL 轉換為 PDF

ExpertPDF 使用 savePdfFromUrlToFile 方法將 URL 轉換為 PDF,該方法快速、安全且高效。頁面的格式保存與實際的網頁瀏覽器上一樣。

using ExpertPdf.HtmlToPdf;

PdfConverter pd = new PdfConverter();
pd.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf");
using ExpertPdf.HtmlToPdf;

PdfConverter pd = new PdfConverter();
pd.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf");
Imports ExpertPdf.HtmlToPdf

Private pd As New PdfConverter()
pd.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf")
VB   C#
IronPDF 和 ExpertPDF for .NET 之間的比較: 圖 12: 使用 ExpertPDF 將 URL 轉為 PDF 的輸出結果

URL to PDF with ExpertPDF

5. 從HTML輸入字串創建PDF

IronPDF和Expert PDF都提供了從包含 HTML 的標記字串創建PDF的功能。

5.1. 使用 IronPDF 的 HTML 輸入字串

以下程式碼片段展示了如何使用 HTML 輸入字串來渲染 PDF 文件圖像。

using IronPdf;

var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");

// 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 PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
PDF.SaveAs("html-with-assets.pdf");
using IronPdf;

var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");

// 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 PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
PDF.SaveAs("html-with-assets.pdf");
Imports IronPdf

Private Renderer = New ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf")

' 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 PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
PDF.SaveAs("html-with-assets.pdf")
VB   C#

5.2. HTML 字串輸入使用 Expert PDF

ExpertPDF HTML 到 PDF 轉換器支援從 HTML 字串轉換為 PDF。其程式碼與 URL 到 PDF 的轉換一樣簡單且易於理解:

using ExpertPdf.HtmlToPdf;

PdfConverter pd = new PdfConverter();

pd.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf");
using ExpertPdf.HtmlToPdf;

PdfConverter pd = new PdfConverter();

pd.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf");
Imports ExpertPdf.HtmlToPdf

Private pd As New PdfConverter()

pd.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf")
VB   C#

第一個參數是真正的 HTML 字串,第二個參數是將保存掃描文件的檔案名。

6. 合併多個 PDF 文件為單個 PDF

IronPDF 和 ExpertPDF 都提供了將多個 PDF 文件合併為單個 PDF 文件的功能。此功能對於整合分散的數據並通過互聯網更高效地傳輸非常有用。

6.1. 使用 IronPDF 合併

以下程式碼將從不同 HTML 字串創建的兩個 PDF 進行渲染,然後使用 Merge 方法將它們合併。這是一行非常容易使用的程式碼。在渲染時還可以向 PDF 設定中添加更多選項。

using IronPdf;

var html_a = @"<p> [PDF_A] </p>
        <p> [PDF_A] 1st Page </p>
        <div style = 'page-break-after: always;' ></div>
        <p> [PDF_A] 2nd Page</p>";

var html_b = @"<p> [PDF_B] </p>
        <p> [PDF_B] 1st Page </p>
        <div style = 'page-break-after: always;' ></div>
        <p> [PDF_B] 2nd Page</p>";

var renderer = new ChromePdfRenderer();

var pdfdoc_a = renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = renderer.RenderHtmlAsPdf(html_b);
var merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b);

merged.SaveAs("Merged.pdf");
using IronPdf;

var html_a = @"<p> [PDF_A] </p>
        <p> [PDF_A] 1st Page </p>
        <div style = 'page-break-after: always;' ></div>
        <p> [PDF_A] 2nd Page</p>";

var html_b = @"<p> [PDF_B] </p>
        <p> [PDF_B] 1st Page </p>
        <div style = 'page-break-after: always;' ></div>
        <p> [PDF_B] 2nd Page</p>";

var renderer = new ChromePdfRenderer();

var pdfdoc_a = renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = renderer.RenderHtmlAsPdf(html_b);
var merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b);

merged.SaveAs("Merged.pdf");
Imports IronPdf

Private html_a = "<p> [PDF_A] </p>
        <p> [PDF_A] 1st Page </p>
        <div style = 'page-break-after: always;' ></div>
        <p> [PDF_A] 2nd Page</p>"

Private html_b = "<p> [PDF_B] </p>
        <p> [PDF_B] 1st Page </p>
        <div style = 'page-break-after: always;' ></div>
        <p> [PDF_B] 2nd Page</p>"

Private renderer = New ChromePdfRenderer()

Private pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
Private pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)
Private merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b)

merged.SaveAs("Merged.pdf")
VB   C#

Merge 方法也有一個重載接受多個文件的 Enumerable 物件形式。你可以在這個示例中看到其使用方法 程式碼範例請注意,如果合併的 PDF 檔案包含可編輯的表單,合併後的 PDF 表單欄位名稱將會附加索引號碼。

6.2. 使用 ExpertPDF 合併

ExpertPDF 使用一個 Merge PDF 組件來完成此任務。必須從 NuGet 套件管理器安裝才能使用它。有一個 AppendPDFFile 方法可以將 PDF 文件附加到 PDFMerge 類對象中。以下是合併由 ExpertPDF 先前創建的兩個 PDF 的代碼:

using ExpertPdf.MergePdf;

PDFMerge pDF = new PDFMerge();
pDF.AppendPDFFile("output.pdf");
pDF.AppendPDFFile("html-to-pdf.pdf");
pDF.SaveMergedPDFToFile("merged.pdf");
using ExpertPdf.MergePdf;

PDFMerge pDF = new PDFMerge();
pDF.AppendPDFFile("output.pdf");
pDF.AppendPDFFile("html-to-pdf.pdf");
pDF.SaveMergedPDFToFile("merged.pdf");
Imports ExpertPdf.MergePdf

Private pDF As New PDFMerge()
pDF.AppendPDFFile("output.pdf")
pDF.AppendPDFFile("html-to-pdf.pdf")
pDF.SaveMergedPDFToFile("merged.pdf")
VB   C#

7. 將圖片轉換為PDF

IronPDF有能力將各種圖片轉換為PDF文件,而ExpertPDF則不提供此功能。然而,ExpertPDF可以從PDF文件中提取圖片,並且還可以將PDF文件轉換為圖片,而這一功能IronPDF也提供。

7.1. 使用 IronPDF 將圖像轉換為 PDF

在 IronPDF 中,可以使用 ImageToPdfConverter 類從一個或多個圖像輕鬆創建 PDF 文件。您可以從應用程式中的任何文件夾加載圖像。

// One or more images as IEnumerable.  This example selects all JPEG images in a specific folder.
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg") 
 f.EndsWith(".jpeg"));
 
// Convert the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\composite.pdf");
 
//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
// One or more images as IEnumerable.  This example selects all JPEG images in a specific folder.
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg") 
 f.EndsWith(".jpeg"));
 
// Convert the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\composite.pdf");
 
//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

除了可以將各種影像轉換為 PDF 檔案外,IronPDF 還可以將掃描文件、紙質文件和商業文件轉換為單獨的影像。它還可以從這些類型的檔案中提取影像。

8. 授權和定價

IronPDF 是一款完全開放的商業產品 C# PDF程式庫. 它對於私人開發是免費的,並且可以隨時為商業用途授權。 各種 授權可用適用於單個專案、單一或多個開發人員、代理商和全球企業。它也支持SaaS和OEM重新分發。

IronPDF和ExpertPDF for .NET的比較:圖13:IronPDF 授權

IronPDF 授權選項

所有授權均提供 30 天退款保證以及一年的支援和產品更新。這些授權是永久性的,這意味著只需一次購買,無需額外費用。適用於單一開發人員和單一專案的 Lite 套餐起價為$749。

ExpertPDF 提供按每位開發人員或每家公司購買授權。您可 免費試用 ExpertPDF. 您可以在下圖中查看授權功能列表。

IronPDF 與 ExpertPDF for .NET 的比較:圖14:ExpertPDF 許可證

ExpertPDF 授權選項

ExpertComponents Toolkit Total 開發者授權起價為 $850,ExpertPDF Toolkit 起價為 $750。您也可以購買單一組件。 完整價格表 可在網站上獲得。

9. 結論

IronPDF 在本地渲染 HTML 為 PDF,因此不需要互聯網連接。實際上,它隱式地啟動了一個符合標準的網頁瀏覽器對象。HTML 渲染完全準確且為矢量格式,適合最高標準的商業印刷。輸出乾淨,生成的 PDF 質量高。它可以獲得商業許可使用,並且所有的定價都列在其網站上,沒有隱藏費用。

ExpertPDF 的 HTML-to-PDF 轉換庫是一個多功能工具,可以將網頁和 HTML 代碼轉換為 PDF 文件,從 ASP.NET 網頁生成 PDF 報告,甚至使用電子簽名簽署合同。它免費使用,但也可以獲得附加功能的授權。

雖然這兩個庫都能處理 PDF 文件並從流行格式進行轉換,但 IronPDF 在某些方面優於 ExpertPDF。IronPDF 支持從更廣泛的格式進行轉換,包括 XML、圖片和 AngularJS,並且具有更強大的功能來生成、格式化和編輯 PDF。IronPDF 是一個節省時間的解決方案,推薦給尋求效率的務實開發者。

ExpertPDF 需要單獨安裝不同的組件,而 IronPDF 是一個包含所有功能的完整軟件。ExpertPDF 可能是僅需要單個組件(例如 HTML-to-PDF 轉換)的項目的好選擇。IronPDF 的包提供終生許可,沒有持續費用,而 ExpertPDF 需要續費。

< 上一頁
使用 Itextsharp 在 C# 中為 PDF 添加數字簽名
下一個 >
使用 IronPDF 進行產品比較

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

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