產品比較

IronPDF 與 PDFium.NET 的比較

發佈 2023年1月25日
分享:

隨著技術的進步和網際網路使用的增加,數據主要以數位形式傳送和接收,主要是以PDF文件的形式。

在過去的一段時間裡,C# 開發人員在處理 PDF 文件方面遇到了困難。在許多情況下,開發人員需要在他們的應用程式中整合 PDF 檢視和 PDF 生成功能。 考慮到這一點,許多庫已被開發用於促進這些及類似的任務。

本文將比較兩個最受 .NET 和 .NET Core 開發人員歡迎的 PDF 庫。 這兩個庫是:

  • IronPDF .NET 庫
  • PDFium.NET SDK 函式庫

    IronPDF 和 PDFium.NET 能夠在 .NET 應用程式中創建、操作和列印 PDF。 產生的問題是:應該使用哪個函式庫? 閱讀本文將使您自行決定。

    首先,讓我們來看看這兩個庫各自提供了什麼,然後我們將進行比較。

PDFium.NET SDK 庫及其功能

PDFium.NET 用於創建、修改和查看文件為PDF格式。(可攜式文件格式). 它提供一個高階 C#/VB.NET API,用於在網頁伺服器上動態創建 PDF,以及在現有桌面或網頁應用中實現儲存為 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 文件
  • 使用自訂網路登入憑證、使用者代理、代理伺服器、Cookie、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 封裝」。 這兩個選項在下面的截圖中顯示。

IronPDF 與 PDFium.NET 的比較,圖 1:使用工具菜單訪問 NuGet 套件管理器
IronPDF 與 PDFium.NET 的比較,圖 2:使用解決方案資源管理器訪問 NuGet 套件管理器

一旦打開 NuGet 套件管理器,瀏覽 IronPDF 套件並安裝,如下圖所示。

IronPDF 與 PDFium.NET 的比較,圖 3:使用 NuGet 套件管理員安裝 IronPDF 庫

1.2. 使用開發者命令提示字元

IronPDF 也可以通過開發人員命令提示字元下載。 請按照以下步驟進行:

  • 從工具選單中開啟開發者命令提示字元或套件管理器主控台
  • 輸入以下命令:
Install-Package IronPdf
  • 按下 Enter 鍵
  • 這將下載並安裝庫

1.3. 直接下載 NuGet 套件

IronPDF 也可以直接下載,請造訪NuGet IronPDF 套件. 步驟如下:

  • 尋找下載套件,然後點擊它。
  • 套件將被下載並安裝。

1.4. 下載庫以安裝 IronPDF

您也可以直接從IronPDF的包頁面下載IronPDF.DLL文件.

IronPDF 和 PDFium.NET 的比較,圖 4:從 IronPDF 網站下載 IronPDF 函式庫 DLL

在專案中參考 IronPDF 庫,請按照以下步驟進行:

  • 在方案總管中右鍵點擊方案,然後選擇參考資料
  • 瀏覽 IronPDF.dll 庫
  • 點擊確定!

    全部完成! IronPDF 已經下載並安裝。 我們現在將開始安裝 PDFium.NET SDK 庫。

2. PDFium.NET 安裝

我們可以使用 NuGet 套件管理器安裝 PDFium.NET 或下載 PDFium Windows 安裝程式。

  • 在 Visual Studio 中開啟 NuGet 套件,如同我們在 IronPDF 中所做的。
  • 搜索 PDFium.NET.SDK。 點擊安裝於您目前的專案中。

    IronPDF 與 PDFium.NET 的比較,圖 5:PDFium.NET 搜索
  • 您也可以使用套件管理員主控台進行安裝。 按照 IronPDF 中提到的「使用開發者命令提示字元」步驟,輸入以下命令:
    PM> Install-Package Pdfium.Net.SDK
  • 按下 Enter 鍵。 這將下載並安裝該庫。

3. 創建 PDF 文件

3.1. 使用 IronPDF

IronPDF 提供多種生成 PDF 文件的方法。 讓我們來看看兩個重要的。

現有的 URL 轉為 PDF

IronPDF 使轉換變得非常簡單使用 IronPDF 的 URL 渲染將 HTML 轉換為 PDF使用現有的URL。

請考慮以下源代碼。

IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
Dim Renderer As New IronPdf.ChromePdfRenderer()
Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
Pdf.SaveAs("url.pdf")
VB   C#

HTML 輸入字符串轉 PDF

以下程式碼範例顯示如何使用 HTML 字串來渲染 PDF 頁面。 您可以使用簡單的 HTML,或者將其與 CSS、圖像和 JavaScript 結合使用。

var Renderer = new IronPDF.ChromePdfRenderer();
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();
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");
Dim Renderer = New IronPDF.ChromePdfRenderer()
Dim 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
Dim AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='logo_square.png'>", "e:\site\assets\")
AdvancedPDF.SaveAs("html-with-assets.pdf")
VB   C#

輸出如下:

IronPDF與PDFium.NET的比較,圖6:IronPDF從URL和HTML字串生成PDF

3.2. 使用 PDFium.NET

它可以即時使用圖片和文字對象生成 PDF。 然而,它無法將 URL 或 HTML 字串轉換為 PDF 文件。

使用 PDFium.NET 生成 PDF 的代碼如下:

public void CreatePDF()
{
    // Step 1: Initialize PDF library and create empty document
    // Return value: PdfDocument main class
    PdfCommon.Initialize();
    var doc = PdfDocument.CreateNew();  // Create a PDF document

    // Step 2: Add new page
    // Arguments: page width: 8.27", page height: 11.69", Unit of measure: inches
    //  The PDF unit of measure is 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 standard System.Drawing.Bitmap class
    using (PdfBitmap logo = PdfBitmap.FromFile(@"e:\site\assets\logo_square.png"))
    {
        PdfImageObject imageObject = PdfImageObject.Create(doc, logo, 0, 0);
        //image resolution is 300 DPI and location is 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 used 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 empty document
    // Return value: PdfDocument main class
    PdfCommon.Initialize();
    var doc = PdfDocument.CreateNew();  // Create a PDF document

    // Step 2: Add new page
    // Arguments: page width: 8.27", page height: 11.69", Unit of measure: inches
    //  The PDF unit of measure is 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 standard System.Drawing.Bitmap class
    using (PdfBitmap logo = PdfBitmap.FromFile(@"e:\site\assets\logo_square.png"))
    {
        PdfImageObject imageObject = PdfImageObject.Create(doc, logo, 0, 0);
        //image resolution is 300 DPI and location is 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 used 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 Sub CreatePDF()
	' Step 1: Initialize PDF library and create empty document
	' Return value: PdfDocument main class
	PdfCommon.Initialize()
	Dim doc = PdfDocument.CreateNew() ' Create a PDF document

	' Step 2: Add new page
	' Arguments: page width: 8.27", page height: 11.69", Unit of measure: inches
	'  The PDF unit of measure is point. There are 72 points in one inch.
	Dim 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 standard System.Drawing.Bitmap class
	Using logo As PdfBitmap = PdfBitmap.FromFile("e:\site\assets\logo_square.png")
		Dim imageObject As PdfImageObject = PdfImageObject.Create(doc, logo, 0, 0)
		'image resolution is 300 DPI and location is 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)
	End Using

	' Create fonts used for text objects
	Dim calibryBold As PdfFont = PdfFont.CreateFont(doc, "CalibriBold")
	' Insert text objects at 7.69"; 11.02" and font size is 25
	Dim textObject As PdfTextObject = 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)
End Sub
VB   C#

輸出如下:

IronPDF 與 PDFium.NET 的比較,圖 7:PDFium.NET 生成 PDF

如果我們比較 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);
imageObject.Matrix = New FS_MATRIX(logo.Width * 72 \ 300, 0, 0, logo.Height * 72 \ 300, 1.69 * 72, 10.0 * 72)
VB   C#

輸出結果將是:

IronPDF 與 PDFium.NET 的比較,圖 8:PDFium.NET 的輸出沒有圖片縮放 PDF

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();

var pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b);
var merged = IronPDF.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 IronPDF.ChromePdfRenderer();

var pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b);
var merged = IronPDF.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 IronPDF.ChromePdfRenderer()

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

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

4.2. 使用 PDFium.NET

使用 PDFium.NET,您不僅可以將多個 PDF 文件合併成一個文件,還可以從源文件中選擇特定頁面,並將它們合併到一個 PDF 文件中。

下面的程式碼顯示如何使用 ImportPages 方法來完成。

public void MergePDF()
{
    //Initialize the SDK library.
    PdfCommon.Initialize();

    //Open and load a PDF document in which other files will be merged 
    using (var mainDoc = PdfDocument.Load(@"c:\test001.pdf")) // C# 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 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 document
            mainDoc.Pages.ImportPages(
                doc,
                string.Format("1-{0}", doc.Pages.Count),
                mainDoc.Pages.Count
                );
        }
        mainDoc.Save(@"c:\ResultDocument.pdf", SaveFlags.NoIncremental);
    }
}
public void MergePDF()
{
    //Initialize the SDK library.
    PdfCommon.Initialize();

    //Open and load a PDF document in which other files will be merged 
    using (var mainDoc = PdfDocument.Load(@"c:\test001.pdf")) // C# 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 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 document
            mainDoc.Pages.ImportPages(
                doc,
                string.Format("1-{0}", doc.Pages.Count),
                mainDoc.Pages.Count
                );
        }
        mainDoc.Save(@"c:\ResultDocument.pdf", SaveFlags.NoIncremental);
    }
}
Public Sub MergePDF()
	'Initialize the SDK library.
	PdfCommon.Initialize()

	'Open and load a PDF document in which other files will be merged 
	Using mainDoc = PdfDocument.Load("c:\test001.pdf") ' C# Read source PDF File #1
		'Open one PDF document.
		Using doc = PdfDocument.Load("c:\doc1.pdf") 'Read PDF File #2
			'Import all pages from document
			mainDoc.Pages.ImportPages(doc, String.Format("1-{0}", doc.Pages.Count), mainDoc.Pages.Count)
		End Using

		'Open another PDF document.
		Using doc = PdfDocument.Load("c:\doc2.pdf")
			'Import all pages from document
			mainDoc.Pages.ImportPages(doc, String.Format("1-{0}", doc.Pages.Count), mainDoc.Pages.Count)
		End Using
		mainDoc.Save("c:\ResultDocument.pdf", SaveFlags.NoIncremental)
	End Using
End Sub
VB   C#

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"); 
Imports IronPdf

' Cryptographically sign an existing PDF in 1 line of code!
Call (New IronPDF.Signing.PdfSignature("Iron.p12", "123456")).SignPdfFile("any.pdf")

'''*** Advanced example for more control ****

' Step 1. Create a PDF
Dim Renderer = New IronPdf.ChromePdfRenderer()
Dim 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.

Dim 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")
VB   C#

PDFium.NET 無法數位簽署 PDF 文件。

6. 價格和授權

IronPDF 價格和授權

IronPDF 可免費用於開發簡單的應用程式,並可隨時獲取商業用途授權。它提供單一專案許可證、單一開發者許可證、代理商和跨國組織許可證。 它還提供SaaS和OEM重新發行授權和支援。

所有 IronPDF 授權均提供 30 天退款保證,以及一年軟體支援和升級服務。 最重要的是,這是一個永久授權(一次性購買). Lite套裝可用。 IronPDF 產品絕對沒有任何經常性費用。 有關可用許可證的更多詳細信息,請參見IronPDF 授權頁面.

IronPDF 與 PDFium.NET 的比較,圖9:IronPDF 授權

PDFium.NET 價格和授權

PDFium.NET 提供永久授權。 您可以永久使用這個支援的SDK版本與您的註冊金鑰。 然而,該金鑰僅適用於某些特定的 SDK 版本,這些版本取決於許可證購買或續約的日期。 您可以免費安裝任何新產品版本,條件是該版本在您購買之前或購買後一年內發布。 PDFium.NET 也提供三種不同的授權套件:

  • 單一項目授權 適用於單個開發者和小型團隊從事一個項目的工作。 從 $720 起。
  • Organization License 是為從事多個專案的開發團隊設計的。
  • 單一開發者許可專為為多個客戶工作的單一開發者和自由職業者設計。

    您可以造訪PDFium.NET 購買頁面查看完整定價詳情。

結論

IronPDF 庫是一個易於使用的庫,用於創建 PDF 文件,且不需要任何複雜的 API。內建的 chromium 引擎允許像素完美的 HTML 到 PDF 轉換,支持的開放標準文檔類型包括 HTML、JS、CSS、JPG、PNG、GIF 和 SVG。

PDFium.NET SDK 是一個 .NET 類庫,旨在以相當實惠的價格滿足開發者最常見的需求。使用 PDFium.NET SDK,您的應用程式可以輕鬆顯示和操作 PDF 文件。 其特殊的 Page 對象編輯 API 是使這個庫特別強大的原因。

PDFium.NET 授權分為上述三個版本。 單一專案授權提供設施給單一開發者和多達三位開發者,起價分別為 $720 和 $900。 這比 IronPDF 稍微便宜一些,IronPDF 的 lite 版本以較低的價格起售。

IronPDF 以具競爭力的價格提供無限授權。相比之下,PDFium.NET 提供組織授權,允許無限數量的開發人員使用,但價格較高。相反地,IronPDF 提供的專業授權可供 10 位開發人員使用,其價格約為 PDFium.NET 相應的 10 位開發人員授權的一半。

在以上範例中,您已看到 IronPDF 使用比 PDFium.NET 更少的程式碼行數來建立和修改 PDF 文件。 這有助於減輕開發人員的工作負擔,讓他們更具生產力。IronPDF 提供多種方法將幾乎任何格式轉換為 PDF。 相較之下,PDFium.NET 只提供像是影像與文字轉換為 PDF 的幾種方法。

您現在可以購買所有Iron Software的產品庫僅需兩個的價格。 此外,有一個免費試用以測試功能。

< 上一頁
iText7 從 PDF 中提取文本 vs IronPDF(代碼示例教程)
下一個 >
Telerik HTML 轉 PDF 生成器 與 IronPDF

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

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