產品比較

IronPDF與XFINIUM.PDF的比較

發佈 2022年9月27日
分享:

不斷進步的技術意味著為所有人,尤其是開發人員,提供更智能的解決方案。 自動化現在是軟體開發流程的關鍵。 多年来,使用 C# 處理 PDF 檔案對開發者來說一直是個問題。 創建PDF文件的內容時需要考慮許多因素,而當從不同格式轉換內容為PDF時則需考慮更多因素。 這些問題現在已經通過構建多個庫得以解決,這些庫旨在幫助從不同格式中讀取、寫入、創建和轉換為PDF。

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

  • IronPDF 庫
  • XFININIUM.PDF 庫

    IronPDF 和 XFININUM.PDF 是兩個庫,它們提供在 .NET 和 .NET Core 中創建、操作和列印 PDF 的方法。 接下來的問題是決定哪個 C# PDF 函式庫最適合您的 .NET 專案。 您可以透過閱讀以下兩個庫的比較及其在 PDF 轉換和操作方面的傑出功能來權衡您的決定。

    首先,讓我們來看看這兩個庫所提供的功能,然後再進行比較。

XFINIUM.PDF 庫及其功能

XFINIUM.PDF 庫是一個用於 PDF 開發的跨平台庫。 它為業餘和高級 PDF 開發者提供了多種功能。 無論您是要創建報告、填寫 PDF 表單、構建 PDF 投資組合、從 PDF 報告中編輯敏感數據,還是將 PDF 報告轉換為多頁 TIFF 圖像。

XFINIUM.PDF 提供兩個版本:生成器版和查看器版。生成器版包含 PDF 生成和編輯功能,而查看器版則包含生成器版的所有功能,加上 PDF 渲染和 PDF 查看功能。 特色部分說明了兩個版本中都包含哪些功能,以及哪些功能僅在查看器版本中可用。

XFINIUM.PDF 完全用 C# 编写,并且是完全托管的代码。 它是按開發者授權,且免版稅分發,允許您自由分發您的程式而不會產生任何進一步的費用。

生成器版本和檢視器版本之間有什麼區別?

生成器版本是檢視器版本的一個子集。 Generator Edition 提供創建和編輯 PDF 的功能,而 Viewer Edition 在 Generator Edition 的基礎上增加了 PDF 渲染能力。 查看器版本可以將 PDF 頁面轉換為 RAW、BMP、GIF、JPG、PNG 和 TIFF 圖像。

XFINIUM.PDF 規範

一些重要功能包括:

安全性

  • 使用者與擁有者密碼
  • 文件存取權限
  • 40 位和 128 位 RC4 加密
  • 128 位和 256 位 AES 加密
  • 內容編輯
  • 禁用文字複製/貼上

數位簽名

  • 使用 X509 證書進行數位簽章的核准和認證
  • 基本 CMS 和 PAdES 數位簽章與 SHA256 / SHA384 / SHA512
  • 簽名時間戳
  • 數位簽章中包含的 OCSP 和 CRL 資訊
  • 文件安全存儲
  • 文檔時間戳記
  • 顧客終身價值 (LTV)(長期驗證)啟用數位簽章
  • 將現有簽名解碼為 ASN.1 對象
  • 從數位簽章中提取證書
  • 保存已簽名的 PDF 文件副本

條碼

  • 內建向量條碼引擎,無需條碼圖像或條碼字體
  • 一維條碼:

    • 通用條碼:Codabar, Code 11, Code 25, Code 25 Interleaved, Code 39, Code 39 Extended, Code 93, Code 93 Extended, Code 128 A, Code 128 B, Code 128 C, COOP 25, Matrix 25, MSI/Plessey
  • 藥品條碼:Code 32、Pharmacode、PZN(藥品中央代碼)
  • 二維條碼:
  • DataMatrix, QR, PDF417, Micro PDF417, Codablock F, Code 16K

內容擷取

  • 在片段層級和字形層級提取帶有位置信息的文本
  • 提取文字為詞彙,並在詞彙級別和字形級別包括位置信息。
  • 從使用者定義的區域中提取文字和字詞
  • 提取圖像,包括圖像資訊,如圖像大小(以像素為單位)、每像素位元數、色彩空間、PDF頁面上的圖像位置、PDF頁面上的圖像大小、圖像的水平和垂直解析度。

低階 COS API

  • 新增、編輯及刪除 COS 物件
  • 支援的COS物件:字串、數字、名稱、布林值、null、陣列、字典和流。

PDF 渲染(僅限檢視器版)

  • 將 PDF 頁面渲染為圖像:RAW、BMP、GIF、JPG、PNG 和 TIFF RAW 圖像的 ARGB、RGBA、BGRA、RGB、BGR 和灰度字節佈局
  • PDF轉多頁TIFF(顏色/灰度/黑白CCITT G4)

IronPDF 的主要功能

IronPDF .NET PDF 預覽庫是開發人員的夢想成真,特別是 C# 程式設計師。 使用這個令人驚嘆的工具,您可以輕鬆地為 .NET 構建一個核心 PDF 庫。

IronPDF 使用 .NET Chromium 引擎將 HTML 頁面轉換為 PDF 文件。無需使用複雜的 API 聯定位或設計 HTML 至 PDF。 IronPDF 支援標準線上文件,包括 HTML、ASPX、JS、CSS 和圖片。

您還可以使用 HTML5、CSS、JavaScript 和圖片來開發 .NET PDF 庫。 PDF 可以輕鬆編輯、加蓋戳記,並添加頁眉和頁腳。 這也讓讀取 PDF 文字和提取圖形變得輕而易舉。

下載 IronPDF免費且立即在您的 .NET 專案中開始使用。

IronPDF C# 庫的突出特點

以下是一些主要特點:

產生 PDF(HTML 到 PDF)

  • HTML4/5、CSS 和 JavaScript 都可以用來製作 PDF 文件。
  • 載入 URL,使用自訂的網路登入憑證、使用者代理、代理伺服器、Cookie、HTTP 標頭和表單變數,以實現 HTML 登入表單後的登入。

您可以不用 Adobe Acrobat 即可編輯現有的 PDF 檔案。

  • 表單欄位的資料應被讀取並填寫。
  • 從 PDF 中提取圖形和文字。
  • 任何當前的 PDF 頁面都可以更新為新的 HTML 內容。
  • 頁眉和頁腳應該是邏輯的或 HTML。

現有的 PDF 文檔可以被操作

  • 可以載入並解析現有的 PDF 文件。
  • PDF文件中的內容可以合併和分離。
  • 添加標頭、頁尾、註釋、書籤、水印、文字和圖像資產,以及文字和圖像資產。

從多種檔案格式轉換

  • ASPX WebForms — 只需三行代碼即可將 ASP.NET Web 窗體轉換為可在瀏覽器中查看的可列印 PDF。
  • 將 HTML 轉換為文檔中的 PDF。
  • 自訂「基礎 URL」允許資產檔案可以從互聯網上的任何地方存取。
  • 虛擬視口允許響應式設計(寬度和高度).
  • 接受任何主流文件格式編碼的HTML文件(預設為 UTF-8).

列印和儲存

  • 檔案、二進位資料和 MemoryStreams 都可以被保存和載入。
  • 電視或電腦螢幕的 CSS 媒體類型用於列印。
  • 通過將 PDF 文件轉換為 PrintDocument 對象來列印,無需使用 Adobe Acrobat。(使用最少的代碼).
  • 官方日志文件包含有关 API 成功和源代码调试故障的信息,可以导出。

    IronPDF 可用于几乎所有与 C# 兼容的操作系统和框架,包括以下内容:

  • .NET Core 2.1, 3.0, 3.1, .NET 6 和 5
  • .NET Standard 2.0 相容性用於通用兼容性
  • Azure
  • AWS
  • Docker
  • Linux
  • Windows

IronPDF C# 庫安裝

有四種方式可以下載並安裝 IronPDF 程式庫。 如下:

  1. 使用 Visual Studio

  2. 開發者命令提示字元

  3. 直接下載 NuGet 套件

  4. 下載 IronPDF .DLL 函式庫

使用 Visual Studio

Visual Studio 提供 NuGet 套件管理器以在您的專案中安裝 NuGet 套件。 您可以通過專案選單存取它,或在方案總管中右鍵點擊您的專案。 這兩個選項在下方的截圖圖1和圖2中顯示。

在 Visual Studio 中使用專案選單訪問 NuGet 套件管理器

圖 1. 使用 Visual Studio 中的專案選單訪問 NuGet 套件管理器

在 Visual Studio 中使用上下文選單存取 NuGet 套件管理器

圖2. 使用 Visual Studio 右鍵選單進入 NuGet 套件管理員

選定後,瀏覽 IronPDF 套件並安裝,如下圖所示。

在 Visual Studio 中使用 NuGET 套件管理器安裝 IronPDF 程式庫

圖3使用 Visual Studio 中的 NuGET 套件管理器安裝 IronPDF 庫

使用開發人員命令提示字元

另一種下載和安裝 IronPDF C# 庫的方法是使用以下步驟通過開發者命令提示字元安裝 IronPDF NuGet package

  • 打開 開發者命令提示字元——通常位於 Visual Studio 資料夾下
  • 輸入以下命令:
    :ProductInstall
  • 按Enter键
  • 這將下載並安裝該套件
  • 重新加載您的 Visual Studio 專案並開始使用它

直接下載 NuGet 套件

下載和安裝 IronPDF 的第三種方法是遵循以下步驟。 這可以透過直接訪問 NuGet 網站並下載套件來完成。 步驟如下:

  • 導航至IronPdf NuGet 頁面
  • 選擇下載套件
  • 雙擊下載的套件
  • 將安裝套件
  • 重新加載您的 Visual Studio 專案並開始使用它

通過下載庫來安裝IronPDF

您可以直接從網站下載 IronPDF .DLL 文件IronPDF 下載.

從 IronPDF 網站下載 IronPDF 庫 DLL

圖4. 從IronPDF網站下載IronPDF庫DLL

使用以下步驟在您的專案中引用該庫:

  • 在方案總管中右鍵單擊方案
  • 選擇參考文獻
  • 瀏覽 IronPDF.dll 庫
  • 點擊確定

    全部完成! IronPDF 已下載、安裝並準備使用。 不過,在此之前,我們應該安裝 XFINIUM.PDF API。

XFINIUM.PDF 安裝

在 .NET Core 中,我們可以將 Xfinium PDF 安裝為 cake 外掛或 cake 工具。

// Install Xfinium.Pdf.NetCore as a Cake Addin

#addin nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
// Install Xfinium.Pdf.NetCore as a Cake Tool

#tool nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0

接下來,我們來深入比較 IronPDF 和 XFINIUM.PDF。

在 .NET Core 中建立簡單的 PDF 文件

在當今世界,軟體開發人員必須了解如何使用 C# 代碼動態創建 PDF 文件,因為這在幾乎所有項目中都是必需的。 您可能需要出於各種原因創建 PDF 文件,例如從用戶輸入生成報告、將用戶文本保存為 PDF、提取 HTML 信息並將其轉換為 PDF 等。

將HTML網頁轉換為PDF的功能包含在這兩個庫中。 讓我們逐一查看每個庫的代碼。

使用 IronPDF

IronPDF 有多種方法來創建 PDF 文件。

現有的 URL 轉為 PDF

IronPDF 使從現有的 URL 將 HTML 轉換為 PDF 文件變得簡單。 JavaScript、圖片、表單和CSS都具有高度支持。

在以下代碼中使用 IronPDF 從網站地址直接創建 PDF 文件。

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

使用 XFINIUM.PDF

使用 XFINIUM.PDF 創建空白 PDF 文件只需三行代碼:一行用來創建文件,一行用來創建一頁,另一行用來保存文件。

PdfFixedDocument document = new PdfFixedDocument();
PdfPage page = document.Pages.Add();
document.Save("empty.pdf");
PdfFixedDocument document = new PdfFixedDocument();
PdfPage page = document.Pages.Add();
document.Save("empty.pdf");
Dim document As New PdfFixedDocument()
Dim page As PdfPage = document.Pages.Add()
document.Save("empty.pdf")
VB   C#

在上述文件中添加文字內容需要三行額外的代碼:一行用於創建用於繪製文字的字體,一行用於創建畫筆並設置文字顏色,還有一行用於實際在頁面上繪製文字和圖形。

PdfFixedDocument document = new PdfFixedDocument();
PdfPage page = document.Pages.Add();
// Create a standard font with Helvetica face and 24 point size
PdfStandardFont helvetica = new PdfStandardFont(PdfStandardFontFace.Helvetica, 24);
// Create a solid RGB red brush.
PdfBrush brush = new PdfBrush(PdfRgbColor.Red);
// Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100);
document.Save("helloworld.pdf");
PdfFixedDocument document = new PdfFixedDocument();
PdfPage page = document.Pages.Add();
// Create a standard font with Helvetica face and 24 point size
PdfStandardFont helvetica = new PdfStandardFont(PdfStandardFontFace.Helvetica, 24);
// Create a solid RGB red brush.
PdfBrush brush = new PdfBrush(PdfRgbColor.Red);
// Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100);
document.Save("helloworld.pdf");
Dim document As New PdfFixedDocument()
Dim page As PdfPage = document.Pages.Add()
' Create a standard font with Helvetica face and 24 point size
Dim helvetica As New PdfStandardFont(PdfStandardFontFace.Helvetica, 24)
' Create a solid RGB red brush.
Dim brush As New PdfBrush(PdfRgbColor.Red)
' Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100)
document.Save("helloworld.pdf")
VB   C#

我們的物件模型與 PDF 標準非常相似。 這使您可以輕鬆地在其基礎上構建複雜的抽象,例如流程文件。

製作可填寫的生成 PDF 文件

使用 XFINIUM.PDF

XFINIUM.PDF 程式庫既可以建立新的 PDF 表單,也可以填寫現有的 PDF 表單。

在 PDF 規範中支持的每種類型的表單欄位皆由相應的類別表示:

  • PdfTextBoxField – 文本框字段
  • PdfCheckBoxField – 核取方塊
  • PdfRadioButtonField – 一組選項按鈕
  • PdfComboboxField – 下拉式方塊
  • PdfListboxField - 列表框
  • PdfPushbuttonField – 按鈕
  • PdfSignatureField – 簽名欄位

    構建表單欄位所需的信息僅為欄位名稱及其在頁面上的位置。 在創建欄位對象後,必須將其添加到頁面中,然後才能指定其他屬性。

PdfTextBoxField firstNameTextBox = new PdfTextBoxField("firstname");
pdfpage.Fields.Add(firstNameTextBox);
firstNameTextBox.Widgets [0].VisualRectangle = 
    new PdfVisualRectangle(150, 45, 200, 20);
PdfTextBoxField firstNameTextBox = new PdfTextBoxField("firstname");
pdfpage.Fields.Add(firstNameTextBox);
firstNameTextBox.Widgets [0].VisualRectangle = 
    new PdfVisualRectangle(150, 45, 200, 20);
Dim firstNameTextBox As New PdfTextBoxField("firstname")
pdfpage.Fields.Add(firstNameTextBox)
firstNameTextBox.Widgets (0).VisualRectangle = New PdfVisualRectangle(150, 45, 200, 20)
VB   C#

如果將現有的 PDF 表單載入 PdfFixedDocument 物件中,則可以填寫。 在表單載入後,文件的欄位集合會自動填入表單中定義的欄位。 可以透過索引或名稱在集合中定位欄位,並透過設置 PdfField 基類中定義的通用值屬性或每個欄位類型上定義的特定值屬性來填充欄位。

PdfFixedDocument document = new PdfFixedDocument("form.pdf");
(document.Form.Fields ["firstname"] as PdfTextBoxField).Text = "John";
(document.Form.Fields ["lastname"] as PdfTextBoxField).Value = "Doe";
(document.Form.Fields ["sex"].Widgets [0] as PdfRadioButtonWidget).Checked = true;
(document.Form.Fields ["firstcar"] as PdfComboBoxField).SelectedIndex = 0;
(document.Form.Fields ["secondcar"] as PdfListBoxField).SelectedIndex = 1;
(document.Form.Fields ["agree"] as PdfCheckBoxField).Checked = true;
document.Save("form_filled.pdf");
PdfFixedDocument document = new PdfFixedDocument("form.pdf");
(document.Form.Fields ["firstname"] as PdfTextBoxField).Text = "John";
(document.Form.Fields ["lastname"] as PdfTextBoxField).Value = "Doe";
(document.Form.Fields ["sex"].Widgets [0] as PdfRadioButtonWidget).Checked = true;
(document.Form.Fields ["firstcar"] as PdfComboBoxField).SelectedIndex = 0;
(document.Form.Fields ["secondcar"] as PdfListBoxField).SelectedIndex = 1;
(document.Form.Fields ["agree"] as PdfCheckBoxField).Checked = true;
document.Save("form_filled.pdf");
Dim document As New PdfFixedDocument("form.pdf")
TryCast(document.Form.Fields ("firstname"), PdfTextBoxField).Text = "John"
TryCast(document.Form.Fields ("lastname"), PdfTextBoxField).Value = "Doe"
TryCast(document.Form.Fields ("sex").Widgets (0), PdfRadioButtonWidget).Checked = True
TryCast(document.Form.Fields ("firstcar"), PdfComboBoxField).SelectedIndex = 0
TryCast(document.Form.Fields ("secondcar"), PdfListBoxField).SelectedIndex = 1
TryCast(document.Form.Fields ("agree"), PdfCheckBoxField).Checked = True
document.Save("form_filled.pdf")
VB   C#

使用 IronPDF

讓我們看看如何使用 IronPDF C# 庫創建可填寫的 PDF。

// PM> Install-Package IronPdf
using IronPdf;

// Step 1.  Creating a PDF with editable forms from HTML using form and input tags

var FormHtml = @"
<html>
    <body>
        <h2>Editable PDF  Form</h2>
        <form>
          First name:<br> <input type='text' name='firstname' value=''   > <br>
          Last name:<br> <input type='text' name='lastname'  value='' >
        </form>
    </body>
</html>";

IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf");

// Step 2. Reading and Writing PDF form values.
var FormDocument = PdfDocument.FromFile("BasicForm.pdf");

//Set and Read the value of the "firstname" field
var FirstNameField =  FormDocument.Form.GetFieldByName("firstname");
FirstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value);

//Set and Read the value of the "lastname" field
IronPdf.Forms.FormField LastNameField = FormDocument.Form.GetFieldByName("lastname");
LastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", LastNameField.Value);

FormDocument.SaveAs("FilledForm.pdf");
// PM> Install-Package IronPdf
using IronPdf;

// Step 1.  Creating a PDF with editable forms from HTML using form and input tags

var FormHtml = @"
<html>
    <body>
        <h2>Editable PDF  Form</h2>
        <form>
          First name:<br> <input type='text' name='firstname' value=''   > <br>
          Last name:<br> <input type='text' name='lastname'  value='' >
        </form>
    </body>
</html>";

IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf");

// Step 2. Reading and Writing PDF form values.
var FormDocument = PdfDocument.FromFile("BasicForm.pdf");

//Set and Read the value of the "firstname" field
var FirstNameField =  FormDocument.Form.GetFieldByName("firstname");
FirstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value);

//Set and Read the value of the "lastname" field
IronPdf.Forms.FormField LastNameField = FormDocument.Form.GetFieldByName("lastname");
LastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", LastNameField.Value);

FormDocument.SaveAs("FilledForm.pdf");
' PM> Install-Package IronPdf
Imports IronPdf

' Step 1.  Creating a PDF with editable forms from HTML using form and input tags

Private FormHtml = "
<html>
    <body>
        <h2>Editable PDF  Form</h2>
        <form>
          First name:<br> <input type='text' name='firstname' value=''   > <br>
          Last name:<br> <input type='text' name='lastname'  value='' >
        </form>
    </body>
</html>"

Private Renderer As New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.CreatePdfFormsFromHtml = True
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf")

' Step 2. Reading and Writing PDF form values.
Dim FormDocument = PdfDocument.FromFile("BasicForm.pdf")

'Set and Read the value of the "firstname" field
Dim FirstNameField = FormDocument.Form.GetFieldByName("firstname")
FirstNameField.Value = "Minnie"
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value)

'Set and Read the value of the "lastname" field
Dim LastNameField As IronPdf.Forms.FormField = FormDocument.Form.GetFieldByName("lastname")
LastNameField.Value = "Mouse"
Console.WriteLine("LastNameField value: {0}", LastNameField.Value)

FormDocument.SaveAs("FilledForm.pdf")
VB   C#

我們從在以下程式碼中使用 HTML 格式標籤建立表單開始。 之後,我們將其儲存為 PDF 文件。 我們從第 2 步開始讀取和寫入 PDF 表單值。使用欄位名稱,您可以訪問表單欄位。 在IronPDF中可以使用GetFieldByName函數。 然後設定選定欄位的值,並保存新填寫的表單。

PDF文件的數位簽署

在現代,許多人在遠端工作。 填寫和簽署表單、傳送檔案以及處理文件只是企業每天需要完成的一些主要活動。 其中一項主要活動是簽署 PDF 文件、PDF 作品集和 PDF 表單,以作為紙質文件的替代方案。 隨著公司尋求簽訂協議和合同以及在線共享 PDF 表單的方法,數位簽章已變得不可或缺。

使用 XFINIUM.PDF

PDF 文件中的簽名欄位用於應用數位簽名(PdfSignatureField類別). 雖然簽名欄位是出現在文件頁面上的表單欄位,但數位簽名是用來簽署整個文件,而不僅僅是該頁面。

簽署過程始於使用 PdfDigitalSignature 物件來設定簽署欄位的簽名屬性。 由於簽名是基於 PDF 文件的實際二進位佈局,因此在保存文件時形成。

PdfDigitalSignature 類別是所有 XFINIUM 數位簽章的基礎。

有多個簽名類別可供選擇:

  • PdfCmsDigitalSignature——基於CMS標準的數位簽章(繼承自 PdfDigitalSignature)
  • PdfPadesDigitalSignature – 實現PADES標準的數位簽章(繼承自 PdfCmsDigitalSignature)
  • PdfInteractiveCmsDigitalSignature-基於CMS標準的數字簽名,可以使用硬件簽名智能卡創建數字簽名。(繼承自 PdfDigitalSignature)
  • PdfInteractivePadesDigitalSignature – 一種數位簽章,實現PADES標準,可以使用硬體簽章智慧卡來創建數位簽章(繼承自 PdfInteractiveCmsDigitalSignature)
  • PdfDocumentTimeStamp – 文件層級的時間戳記(繼承自 PdfDigitalSignature)

使用 IronPDF

開發人員經常詢問如何使用 IronPDF 和 C# 以程式化方式將簽名新增至 PDF。 這對開發人員來說可以意味著多種事情:

  • 從圖像文件中,將圖形數位簽名圖片添加到現有的 PDF 文件中。
  • 為確認 PDF 未被篡改,需使用加密簽署。
  • 要在已進行加密簽名的 PDF 中添加手寫簽名圖標。

    第一種方法是將簽名 PNG 蓋章到已存在的 PDF 頁面中。 它可以用作簽名或公司印章。建議使用不透明度。 只需要幾行程式碼就可以完成這個程序。

// open an existing PDF document or create a new one
PdfDocument Pdf = PdfDocument.FromFile(@"C:\Path\To\ASPX to PDF.pdf");
var SignatureStamp = new HtmlStamp() { Html = "<img src='signature.png' />", Width = 150, Height = 50, Bottom = 300, Left=85, ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent };
Pdf.StampHTML(SignatureStamp,1);
Pdf.SaveAs(@"C:\Path\To\ASPX to PDF.pdf");
// open an existing PDF document or create a new one
PdfDocument Pdf = PdfDocument.FromFile(@"C:\Path\To\ASPX to PDF.pdf");
var SignatureStamp = new HtmlStamp() { Html = "<img src='signature.png' />", Width = 150, Height = 50, Bottom = 300, Left=85, ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent };
Pdf.StampHTML(SignatureStamp,1);
Pdf.SaveAs(@"C:\Path\To\ASPX to PDF.pdf");
' open an existing PDF document or create a new one
Dim Pdf As PdfDocument = PdfDocument.FromFile("C:\Path\To\ASPX to PDF.pdf")
Dim SignatureStamp = New HtmlStamp() With {
	.Html = "<img src='signature.png' />",
	.Width = 150,
	.Height = 50,
	.Bottom = 300,
	.Left=85,
	.ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
}
Pdf.StampHTML(SignatureStamp,1)
Pdf.SaveAs("C:\Path\To\ASPX to PDF.pdf")
VB   C#

以下程式碼使用 .pfx 和 .p12 X509Certificate2 數位憑證進行加密簽署 PDF,該憑證可以僅需一行程式碼輕鬆創建。

// 123456 below represents the signature password
new IronPdf.PdfSignature("CertificateFile.p12", "123456").SignPdfFile("ASPX to PDF.pdf");
// 123456 below represents the signature password
new IronPdf.PdfSignature("CertificateFile.p12", "123456").SignPdfFile("ASPX to PDF.pdf");
' 123456 below represents the signature password
Call (New IronPdf.PdfSignature("CertificateFile.p12", "123456")).SignPdfFile("ASPX to PDF.pdf")
VB   C#

這個更高級的範例允許 .pfx / .p12 X509Certificate2 數位簽名方法與手寫簽名掃描相結合。

var Signature = new IronPdf.PdfSignature("Iron.pfx", "123456");
PdfDocument doc = Renderer.RenderHtmlAsPdf("<h1>Testing 2048-bit digital security</h1>");
// Step 3. Optional signing options and a handwritten Signature graphic
Signature.SigningContact = "support@ironsoftware.com";
Signature.SigningLocation = "Chicago, USA";
Signature.SigningReason = "To show how to sign a PDF";
Signature.LoadSignatureImageFromFile("handwriting.png");
doc.SignPdfWithDigitalSignature(Signature);
doc.SaveAs("ASPX to PDF.pdf");
var Signature = new IronPdf.PdfSignature("Iron.pfx", "123456");
PdfDocument doc = Renderer.RenderHtmlAsPdf("<h1>Testing 2048-bit digital security</h1>");
// Step 3. Optional signing options and a handwritten Signature graphic
Signature.SigningContact = "support@ironsoftware.com";
Signature.SigningLocation = "Chicago, USA";
Signature.SigningReason = "To show how to sign a PDF";
Signature.LoadSignatureImageFromFile("handwriting.png");
doc.SignPdfWithDigitalSignature(Signature);
doc.SaveAs("ASPX to PDF.pdf");
Dim Signature = New IronPdf.PdfSignature("Iron.pfx", "123456")
Dim doc As PdfDocument = Renderer.RenderHtmlAsPdf("<h1>Testing 2048-bit digital security</h1>")
' Step 3. Optional signing options and a handwritten Signature graphic
Signature.SigningContact = "support@ironsoftware.com"
Signature.SigningLocation = "Chicago, USA"
Signature.SigningReason = "To show how to sign a PDF"
Signature.LoadSignatureImageFromFile("handwriting.png")
doc.SignPdfWithDigitalSignature(Signature)
doc.SaveAs("ASPX to PDF.pdf")
VB   C#

定價和授權

XFINIUM.PDF 價格和授權

每個軟體包提供兩個版本:Generator Edition 提供 PDF 生成和編輯功能,Viewer Edition 包含了 Generator Edition 的所有功能,並額外提供 PDF 渲染和 PDF 查看功能。

  • 每位開發者都有他們自己的Xfinium PDF庫的許可證。 每位為 XFINIUM 撰寫程式碼的開發者都需要獲得此 PDF 檔案庫的授權。
  • XFINIUM.PDF 可以作為您的授權的一部分,免版稅地發送到無限數量的桌面電腦和伺服器。
  • 「協助訂閱」一年提供一年的免費升級以及技術支持。

    價格範圍從每年 $290.00 到 $872.00 不等,具體取決於相應的套餐。

IronPDF 價格和授權

另一方面,IronPDF 是一個 C# PDF 程式庫。 它可免費用於開發,並可隨時授權用於商業用途。單一專案授權、單一開發人員、代理商和跨國組織,以及 SaaS 和 OEM 重新分發,皆可使用。 所有授權皆附有30天退款保證、一年軟體支援與升級、開發/測試/生產有效性,以及永久授權。(一次性購買). Lite 套裝可用於 $749。 IronPDF 產品沒有經常性支出。

結論

Iron PDF 庫使創建 PDF 文件變得更容易,因為它不依賴於專有 API。 "HTML-To-PDF" 可以將開放標準的文檔類型如 HTML、JS、CSS、JPG、PNG、GIF 和 SVG 轉換為像素完美的 PDF。 換言之,它建立在開發者目前擁有的才能之上。 它允許用戶下載文件、發送電子郵件或保存到雲端,並生成賬單、報價、報告、合同和其他文件。 它適用於 ASP.NET、ASP.NET Core、Web 表單、MVC、.NET Framework 和 .NET Core Web API。

XFINIUM.PDF 庫提供多種功能,適合初學者和高級 PDF 開發人員使用。 無論您需要製作簡單的報告、填寫 PDF 表單、構建 PDF 文件集、從 PDF 文件中刪除敏感信息,或將 PDF 文件轉換為多頁 TIFF 圖像,它都具有您所需的工具。 由於基本對象模型遵循 PDF 規範,您對生成的 PDF 文件擁有完全控制權。 XFINIUM.PDF 代碼可以在所有受支持的平台上無需修改地編譯。 XFINIUM.PDF 集合可供您使用。

XFINIUM.PDF 授權有兩個版本:生成器和檢視器,分別起價為 $290 和 $387。 這比起IronPDF稍微便宜一些,IronPDF的輕量版起價為$749。 選擇IronPDF值得考慮,因為它提供單一和多用戶許可證,而XFINIUM.PDF僅提供單一用戶許可證——這意味著每位開發人員都需要一個許可證。 另一方面,IronPDF 提供專業授權,起價為 $799,可供無限人數使用。

使用IronPDF,您可以比使用XFINIUM.PDF更輕鬆地處理PDF文件。 IronPDF 使用較少的代碼行來進行複雜的操作,這有助於減輕程式設計師的工作負擔。

Iron Software公司還為所有客戶提供只需兩次點擊即可獲得整套軟體包的選項。 這意味著,以購買 Iron Software 套件中兩個庫的價格,您目前可以獲得全部五個庫,以及對它們的不中斷支持。

< 上一頁
IronPDF與SautinSoft PDF Focus的比較
下一個 >
IronPDF 和 GrapeCity PDF Viewer 之間的比較

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

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