IronPDF 和 PDFium.NET 的比較
隨著科技的進步和網際網路使用量的增加,資料大多以數位形式傳送和接收,主要是 PDF 檔案。
對開發人員而言,在 C# 中處理 PDF 文件是近期的難題。開發人員需要在其應用程式中納入 PDF 檢視和 PDF 產生功能的場景很多。 有鑑於此,許多函式庫已被開發出來,以協助完成這些類似任務。
本文將比較兩種最受 .NET 和 .NET Core 開發人員歡迎的 PDF 函式庫。 這兩個程式庫是
- IronPDF for .NET 函式庫
- PDFium.NET SDK 程式庫
IronPDF 和 PDFium.NET 可以在 .NET 應用程式中建立、處理和列印 PDF。 出現的問題是:應該使用哪個函式庫呢? 透過這篇文章,您可以自行決定。
首先,讓我們來看看這兩個函式庫的優點,接下來就進入比較本身。
PDFium.NET SDK 函式庫及其功能
PDFium.NET 用於建立、修改和檢視 PDF 檔案(可攜式文件格式)。 它提供了高階 C#/VB.NET API,用於在 Web 伺服器上動態建立 PDF,並在現有的 Desktop 或 Web 應用程式中實作 Save as PDF 功能。
PDFium.NET 的突出功能包括
- 從零開始建立 PDF,或從掃描的影像集建立 PDF
- 隨時可用的工具列,用於編輯、分割、合併和操作 PDF,包括文字萃取
- 嵌入式獨立 Winforms 或 WPF PDF 檢視器控制項支援縮放
- 支援 .NET 2.0+、.NET 6、Standard、Core、Mono、Microsoft Azure
- 而且還能在 Windows XP 和 Mac OS 上運行。
- 支援全部的 PDF 渲染功能
- 基於高效能 PDF 檢視器,可搜尋、列印及編輯 PDF 檔案
- 極快的文字處理引擎
IronPDF 及其主要功能
IronPDF .NET PDF 函式庫專為開發人員量身打造,尤其適合 C# 開發人員使用。 有了這個令人驚豔的 PDF 函式庫,您就可以輕鬆地在您的 .NET 專案中加入 PDF 檢視功能。
IronPDF 內建 Chromium 引擎,可以非常容易地將 HTML 轉換成 PDF。 這並不需要任何複雜、低階的 API 來操作 PDF 檔案。 它可以處理 HTML 原始檔,例如 HTML 文件、JavaScript 檔案和 ASPX 網頁。
IronPDF 可以使用自訂的頁眉、頁腳、水印等自訂 PDF。 這也讓開發人員閱讀 PDF 文字和擷取圖形變得小菜一碟。
IronPDF for .NET 的突出功能包括:
- 使用 HTML4/5、CSS 和 JavaScript 建立 PDF 文件
- 使用自訂的網路登入憑證、使用者代理、代理人、cookies、HTTP 標頭和表單變數載入 URL。
- 程式化完成 HTML/PDF 表格欄位。
- 從 PDF 檔案中萃取文字和圖形
- 以新內容更新 PDF 頁面。
- 在 PDF 中加入並自訂頁首與頁尾。
- 合併與分割 PDF 文件。
- 將 ASP.NET 網頁表單轉換為可列印的 PDF。
- 將 HTML 檔案/URL 轉換為 PDF。
- 在不使用 Adobe Acrobat Reader 的情況下列印 PDF 檔案。
IronPdf 函式庫幾乎適用於所有與 C# 相容的作業系統和框架,包括以下:
- .NET Core 2.1、3.0、3.1、.NET 5、6 和 7
- 符合 .NET Standard 2.0 的通用相容性
- Azure、AWS、Docker、Linux、Windows
文章的其他部分如下:
1.IronPDF C# 函式庫安裝 2.PDFium.NET SDK 安裝 3.建立 PDF 文件 4.從多個影像建立 PDF 5.數位簽署 PDF 6.定價與授權 7.總結
1.IronPDF C# 函式庫安裝。
IronPdf 函式庫有不同的下載與安裝方式。 最簡單的方法如下:
1.使用 Visual Studio 2.開發人員指令提示 3.直接下載 NuGet 套件 4.下載 IronPdf.DLL 函式庫
1.1.使用 Visual Studio
在您的 Visual Studio 專案中,從"工具"功能表或在解決方案總管中右擊您的專案,然後選擇"管理 NuGet 套件"。 這兩種選項的截圖如下所示。


打開 NuGet Package Manager 後,瀏覽 IronPDF 套件並進行安裝,如下截圖所示。

1.2.使用開發人員指令提示。
IronPDF 也可透過 Developer Command Prompt 下載。 請遵循以下步驟:
- 從"工具"功能表開啟 Developer Command Prompt 或套件管理員控制台。
- 鍵入以下指令:
Install-Package IronPdf
- 按下 Enter 鍵
- 這將會下載並安裝函式庫
1.3.直接下載 NuGet 套件。
IronPDF 也可透過造訪 NuGet IronPDF 套件直接下載。 步驟如下
- 尋找下載套件並點選。
- 該套件將被下載並安裝。
1.4.透過下載函式庫安裝 IronPdf
您也可以直接從 IronPDF 的套件頁面下載 IronPDF.DLL 檔案。

使用以下步驟在您的專案中引用 IronPDF 函式庫:
- 右鍵按一下解決方案總管中的解決方案,然後選取"參考資料
- 瀏覽 IronPdf.dll 函式庫
- 按一下確定!
全部完成! 下載並安裝 IronPdf。 現在我們將安裝 PDFium.NET SDK 函式庫。
2. PDFium.NET 安裝。
我們可以使用 NuGet 套件管理員或下載 PDFium Windows 安裝程式來安裝 PDFium.NET。
- 在 Visual Studio 中打開 NuGet 套件,就像我們在 IronPdf 中做的一樣。
- 搜尋 PDFium.NET.SDK。 在您目前的專案中按一下安裝。

- 您也可以使用套件管理員控制台進行安裝。 按照 IronPDF 所述的"使用開發人員指令提示"步驟,輸入下列指令:
Install-Package Pdfium.Net.SDK
- 請按 Enter。 這將會下載並安裝函式庫。
3.建立 PDF 文件
3.1.使用 IronPdf
IronPDF 提供多種產生 PDF 檔案的方法。 讓我們來看看兩個重要的。
將現有 URL 轉換成 PDF
IronPDF 使用現有的 URL 將 HTML 轉換成 PDF 非常簡單。
請考慮下列原始碼。
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// Use RenderUrlAsPdf method to convert a given URL to a PDF document
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Save the generated PDF document
Pdf.SaveAs("url.pdf");IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// Use RenderUrlAsPdf method to convert a given URL to a PDF document
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Save the generated PDF document
Pdf.SaveAs("url.pdf");HTML 輸入字串至 PDF
以下程式碼片段顯示如何使用 HTML 字串來呈現 PDF 頁面。 您可以使用簡單的 HTML,或結合 CSS、圖片和 JavaScript。
var Renderer = new IronPDF.ChromePdfRenderer();
// Render HTML as a PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
PDF.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
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='logo_square.png'>", @"e:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");var Renderer = new IronPDF.ChromePdfRenderer();
// Render HTML as a PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
PDF.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
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='logo_square.png'>", @"e:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");輸出內容如下:

3.2.使用 PDFium.NET
它可以使用圖片和文字物件快速產生 PDF 文件。 但無法將 URL 或 HTML 字串轉換為 PDF 檔案。
以下是使用建立 PDFium.NET 產生 PDF 的範例程式碼:
public void CreatePDF()
{
// Step 1: Initialize PDF library and create an empty document
PdfCommon.Initialize();
var doc = PdfDocument.CreateNew(); // Create a new PDF document
// Step 2: Add a new page
// Arguments: page width: 8.27", page height: 11.69", Unit of measure: inches
// The PDF unit of measure is a point. There are 72 points in one inch.
var page = doc.Pages.InsertPageAt(doc.Pages.Count, 8.27f * 72, 11.69f * 72);
// Step 3: Add graphics and text contents to the page
// Insert image from file using the standard System.Drawing.Bitmap class
using (PdfBitmap logo = PdfBitmap.FromFile(@"e:\site\assets\logo_square.png"))
{
PdfImageObject imageObject = PdfImageObject.Create(doc, logo, 0, 0);
// Set image resolution to 300 DPI and location to 1.69 x 10.0 inches
imageObject.Matrix = new FS_MATRIX(logo.Width * 72 / 300, 0, 0, logo.Height * 72 / 300, 1.69 * 72, 10.0 * 72);
page.PageObjects.Add(imageObject);
}
// Create fonts for text objects
PdfFont calibryBold = PdfFont.CreateFont(doc, "CalibriBold");
// Insert text objects at 7.69"; 11.02" and font size is 25
PdfTextObject textObject = PdfTextObject.Create("Sample text", 7.69f * 72, 11.02f * 72, calibryBold, 25);
textObject.FillColor = FS_COLOR.Black;
page.PageObjects.Add(textObject);
// Step 5: Generate page content and save PDF file
// Argument: PDF file name
page.GenerateContent();
doc.Save(@"e:\site\sample_document.pdf", SaveFlags.NoIncremental);
}public void CreatePDF()
{
// Step 1: Initialize PDF library and create an empty document
PdfCommon.Initialize();
var doc = PdfDocument.CreateNew(); // Create a new PDF document
// Step 2: Add a new page
// Arguments: page width: 8.27", page height: 11.69", Unit of measure: inches
// The PDF unit of measure is a point. There are 72 points in one inch.
var page = doc.Pages.InsertPageAt(doc.Pages.Count, 8.27f * 72, 11.69f * 72);
// Step 3: Add graphics and text contents to the page
// Insert image from file using the standard System.Drawing.Bitmap class
using (PdfBitmap logo = PdfBitmap.FromFile(@"e:\site\assets\logo_square.png"))
{
PdfImageObject imageObject = PdfImageObject.Create(doc, logo, 0, 0);
// Set image resolution to 300 DPI and location to 1.69 x 10.0 inches
imageObject.Matrix = new FS_MATRIX(logo.Width * 72 / 300, 0, 0, logo.Height * 72 / 300, 1.69 * 72, 10.0 * 72);
page.PageObjects.Add(imageObject);
}
// Create fonts for text objects
PdfFont calibryBold = PdfFont.CreateFont(doc, "CalibriBold");
// Insert text objects at 7.69"; 11.02" and font size is 25
PdfTextObject textObject = PdfTextObject.Create("Sample text", 7.69f * 72, 11.02f * 72, calibryBold, 25);
textObject.FillColor = FS_COLOR.Black;
page.PageObjects.Add(textObject);
// Step 5: Generate page content and save PDF file
// Argument: PDF file name
page.GenerateContent();
doc.Save(@"e:\site\sample_document.pdf", SaveFlags.NoIncremental);
}輸出內容如下:

如果我們比較 IronPDF 與 PDFium 專案的輸出,我們可以清楚地看到 IronPDF 基於類庫的輸出使用 HTML 渲染可以得到更好的結果,而不需要縮放圖片大小。另一方面,PDFium.NET 提供了與 IronPDF 相似的輸出,但只需要縮放圖片。 如果我們跳過程式碼中的以下一行:
imageObject.Matrix = new FS_MATRIX(logo.Width * 72 / 300, 0, 0, logo.Height * 72 / 300, 1.69 * 72, 10.0 * 72);imageObject.Matrix = new FS_MATRIX(logo.Width * 72 / 300, 0, 0, logo.Height * 72 / 300, 1.69 * 72, 10.0 * 72);輸出內容將包括

4.從多個影像建立 PDF.
4.1.使用 IronPdf
在 IronPDF 中,合併兩個或多個 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 IronPDF.ChromePdfRenderer();
// Render HTML documents as PDFs
var pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b);
// Merge the documents into one PDF
var merged = IronPDF.PdfDocument.Merge(pdfdoc_a, pdfdoc_b);
// Save the merged document
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 IronPDF.ChromePdfRenderer();
// Render HTML documents as PDFs
var pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b);
// Merge the documents into one PDF
var merged = IronPDF.PdfDocument.Merge(pdfdoc_a, pdfdoc_b);
// Save the merged document
merged.SaveAs("Merged.PDF");4.2.使用 PDFium.NET
使用 PDFium.NET,您不僅可以將多個 PDF 檔案合併為單一檔案,還可以從原始檔案中選取特定頁面合併為一個 PDF 文件。
下面的程式碼展示了如何使用 ImportPages 方法來完成:
public void MergePDF()
{
// Initialize the SDK library.
PdfCommon.Initialize();
// Open and load a PDF document into which other files will be merged
using (var mainDoc = PdfDocument.Load(@"c:\test001.pdf")) // Read source PDF File #1
{
// Open one PDF document.
using (var doc = PdfDocument.Load(@"c:\doc1.pdf")) // Read PDF File #2
{
// Import all pages from the document
mainDoc.Pages.ImportPages(
doc,
string.Format("1-{0}", doc.Pages.Count),
mainDoc.Pages.Count
);
}
// Open another PDF document.
using (var doc = PdfDocument.Load(@"c:\doc2.pdf"))
{
// Import all pages from the document
mainDoc.Pages.ImportPages(
doc,
string.Format("1-{0}", doc.Pages.Count),
mainDoc.Pages.Count
);
}
// Save the merged document
mainDoc.Save(@"c:\ResultDocument.pdf", SaveFlags.NoIncremental);
}
}public void MergePDF()
{
// Initialize the SDK library.
PdfCommon.Initialize();
// Open and load a PDF document into which other files will be merged
using (var mainDoc = PdfDocument.Load(@"c:\test001.pdf")) // Read source PDF File #1
{
// Open one PDF document.
using (var doc = PdfDocument.Load(@"c:\doc1.pdf")) // Read PDF File #2
{
// Import all pages from the document
mainDoc.Pages.ImportPages(
doc,
string.Format("1-{0}", doc.Pages.Count),
mainDoc.Pages.Count
);
}
// Open another PDF document.
using (var doc = PdfDocument.Load(@"c:\doc2.pdf"))
{
// Import all pages from the document
mainDoc.Pages.ImportPages(
doc,
string.Format("1-{0}", doc.Pages.Count),
mainDoc.Pages.Count
);
}
// Save the merged document
mainDoc.Save(@"c:\ResultDocument.pdf", SaveFlags.NoIncremental);
}
}5.以數位方式簽署 PDF
5.1.使用 IronPdf
現今最重要的功能之一是以數位方式簽署 PDF 文件。 IronPdf 提供了這種便利。 代碼如下:
using IronPdf;
// Cryptographically sign an existing PDF in 1 line of code!
new IronPDF.Signing.PdfSignature("Iron.p12", "123456").SignPdfFile("any.pdf");
/***** Advanced example for more control *****/
// Step 1. Create a PDF
var Renderer = new IronPdf.ChromePdfRenderer();
var doc = Renderer.RenderHtmlAsPDF("<h1>Testing 2048 bit digital security</h1>");
// Step 2. Create a Signature.
// You may create a .pfx or .p12 PDF signing certificate using Adobe Acrobat Reader.
var signature = new IronPDF.Signing.PdfSignature("Iron.pfx", "123456");
// Step 3. Handwritten signature graphic
signature.LoadSignatureImageFromFile("handwriting.png");
// Step 4. Sign the PDF with the PDFSignature. Multiple signing certificates may be used
doc.SignPdfWithDigitalSignature(signature);
// Step 4. The PDF is not signed until saved to file, stream, or byte array.
doc.SaveAs("signed.pdf"); using IronPdf;
// Cryptographically sign an existing PDF in 1 line of code!
new IronPDF.Signing.PdfSignature("Iron.p12", "123456").SignPdfFile("any.pdf");
/***** Advanced example for more control *****/
// Step 1. Create a PDF
var Renderer = new IronPdf.ChromePdfRenderer();
var doc = Renderer.RenderHtmlAsPDF("<h1>Testing 2048 bit digital security</h1>");
// Step 2. Create a Signature.
// You may create a .pfx or .p12 PDF signing certificate using Adobe Acrobat Reader.
var signature = new IronPDF.Signing.PdfSignature("Iron.pfx", "123456");
// Step 3. Handwritten signature graphic
signature.LoadSignatureImageFromFile("handwriting.png");
// Step 4. Sign the PDF with the PDFSignature. Multiple signing certificates may be used
doc.SignPdfWithDigitalSignature(signature);
// Step 4. The PDF is not signed until saved to file, stream, or byte array.
doc.SaveAs("signed.pdf"); PDFium.NET 缺乏這種數位簽署 PDF 文件的能力。
6.定價與授權。
IronPDF 定價與授權
IronPDF 可免費用於開發簡單的應用程式,並可隨時取得商業使用授權。它提供單一專案授權、單一開發人員授權、代理商和跨國組織授權。 該公司還提供 SaaS 和 OEM 再發行授權與支援。
所有 IronPDF License 均提供 30 天退款保證,以及一年的軟體支援與升級服務。 最重要的是,這是一項永久授權(一次性購買)。 提供 Lite 套件。 IronPDF 產品絕無經常性費用。 有關可用授權的詳細資訊,請參閱 IronPDF授權頁面。

PDFium.NET 定價與授權
PDFium.NET 提供永久授權。 您可以憑註冊密鑰永久使用此支援的 SDK 版本。 然而,該密鑰僅適用於某些特定的 SDK 版本,這些版本取決於購買或更新授權的日期。 您可以免費安裝任何新的產品版本,只要該版本是在您購買之前或一年內發佈的。 PDFium.NET 也提供 3 種不同的授權套件:
- 單一專案授權是專為單一開發人員和負責一個專案的小型團隊所設計。 720 美元起。
- Organization License 專為負責多個專案的開發團隊所設計。
- 單一開發人員授權專為為多位客戶工作的單一開發人員和自由工作者所設計。
您可以造訪PDFium.NET購買頁面,取得完整的價格細節。
結論
IronPDF 函式庫是一個簡單易用的函式庫,不需要任何複雜的 API 即可建立 PDF 文件。內建的 chromium 引擎可使用 HTML、JS、CSS、JPG、PNG、GIF 和 SVG 等開放式標準文件類型,將 HTML 像素完美地轉換為 PDF。
PDFium.NET SDK 是一個 .NET 類函式庫,以合理的價格滿足開發人員最常見的需求。有了 PDFium.NET SDK,您的應用程式就可以輕鬆顯示和處理 PDF 文件。 其特殊的頁面物件編輯 API 是這個函式庫特別強大的地方。
如上所述,PDFium.NET 授權有三種版本。 單一專案授權可提供給單一開發人員和最多三名開發人員使用,起價分別為 720 美元和 900 美元。 這比 IronPDF 便宜一些,IronPDF 的 Lite 版本起價較低。
IronPDF 提供無限制授權,價格極具競爭力。相較之下,PDFium.NET 的組織授權可讓無限數量的開發人員使用,但價格高昂。相反,IronPDF 提供的專業 License 可供 10 名開發人員使用,價格約為 PDFium.NET 同等級 10 名開發人員授權的一半。
在上面的例子中,您已經看到 IronPDF 與 PDFium.NET 相比,使用更少行的程式碼來建立和修改 PDF 文件。 這有助於減輕開發人員的工作量,讓他們提高生產力。IronPDF 提供了幾乎所有格式轉換為 PDF 的多種方法。 相較之下,PDFium.NET 只提供幾種方法,例如圖片和文字轉 PDF。
您現在可以 購買 Iron Software 的所有產品資料庫,只需花費兩個產品資料庫的價錢。 此外,還有免費試用來測試功能。
常見問題解答
如何在C#中將HTML轉換為PDF?
您可以使用 IronPDF 的RenderHtmlAsPdf方法將 HTML 字串轉換為 PDF。此外,您也可以使用RenderHtmlFileAsPdf方法將 HTML 檔案轉換為 PDF。
IronPDF在PDF處理上的主要特點是什麼?
IronPDF 允許開發者使用 HTML、CSS 和 JavaScript 建立 PDF 文件。它具備 URL 轉 PDF、文字和圖形提取、自訂頁首和頁尾、PDF 合併和拆分等功能,並且無需 Adobe Acrobat Reader 即可列印 PDF。
IronPDF 能否對 PDF 文件進行數位簽章?
是的,IronPDF 支援數位簽名,讓您可以使用加密簽名保護 PDF 文件。
IronPDF有哪些安裝選項?
IronPDF 可以透過 Visual Studio、開發人員命令提示字元、下載 NuGet 套件或取得 IronPDF.DLL 庫進行安裝。
IronPDF提供哪些許可和定價方案?
IronPDF 提供多種許可選項,包括單一項目許可、單開發者許可、代理機構許可和跨國組織許可。此外,它還提供 SaaS 和 OEM 再分發許可,所有許可均享有 30 天退款保證。
IronPDF 如何提升開發效率?
與其他程式庫(如 PDFium.NET)相比,IronPDF 旨在減少建立和修改 PDF 文件所需的程式碼行數,從而提高開發人員的效率。
IronPDF是否支援跨平台PDF功能?
是的,IronPDF 支援多種作業系統和框架,使其成為跨平台 PDF 功能的多功能選擇。
與其他PDF庫相比,使用IronPDF有哪些優勢?
IronPDF 易於使用,功能強大(例如 HTML 轉 PDF),價格也很有競爭力,與其他 PDF 庫相比,它成為許多開發人員的首選。






