產品比較

IronPDF與PSPDFKit的比較

發佈 2022年11月13日
分享:

1. 介紹

對於開發人員來說,使用程式語言操作 PDF 相當困難,特別是在 .NET 平台上。 在本文中,我們將討論如何使用多種工具在 C#.NET 中管理 PDF,這些工具將幫助您節省大量的生產時間和精力。 在顯示 PDF 文件中的素材時需要考慮多個元素,尤其是在將其他格式的內容轉換為 PDF 時更是如此。 我們將討論的工具是業界中的頂級產品,這些產品被開發者和《財富》500強公司或組織使用。 能立即為您的 PDF 問題提供解決方案的 .NET 工具是:

  • PSPDFKit
  • IronPDF

2. IronPDF

IronPDF 是將 HTML 網站轉換為 .NET 和 .NET Core 開發的理想解決方案。 它不僅僅是將 HTML 進行轉換,還提供了多種其他的功能。 IronPDF 允許開發人員在 .NET Core 和框架項目中創建、修改和提取 PDF 文檔。 使用IronPDF套件,開發人員可以輕鬆從HTML頁面生成或轉換PDF。

IronPDF 是一個 .NET 庫,允許您僅用少量代碼快速創建、讀取和操作 PDF 文件。 您可以將現有 PDF 文件存儲中的內容導入、移動和索引到您的內容管理和績效應用程序中。

2.1. IronPDF 功能

2.1.1. PDF 影像處理

用戶現在可以從 PDF 製作圖像以及從照片製作 PDF。包括圖像提取、對多種圖像擴展名的支持以及 PDF 列印。

2.1.2. PDF 檔案 IO

IronPDF 也可以使用 128 位元加密對 PDF 檔進行加密、對 PDF 檔進行密碼保護,並對 PDF 檔進行數位簽署。

2.1.3. PDF 轉換

此功能允許您從多種來源創建 PDF,包括 HTML、Web Forms、HTML 字串、MVC 視圖和 URL。

2.1.4. 編輯PDF文件

這個IronPDF工具讓您能以多種方式格式化PDF,包括添加水印、添加頁面、刪除頁面、更改背景和前景等等。 簡而言之,IronPDF 可以完成您能想像到的所有與 PDF 相關的操作。

2.1.5. PDF 內容提取

來自PDF的內嵌文本通常可以輕鬆提取。 然而,如果這不起作用,則很可能是因為文本被「困在」圖片中。 要掃描文件中的視覺文本而非純文本,請使用IronOCR庫。

2.1.6. 頁首和頁尾

在創建 PDF 或向現有 PDF 添加內容時,可以包含頁眉和頁腳。 您可以使用 Print Options 屬性為每個文件頁面創建頁眉和頁腳。 這些參數可在 Chrome PDF 渲染器對象上使用。 此範例在 .NET Core 主控台應用程式中運行。

2.1.7. 兼容性

IronPDF 支援幾乎所有與 C# 相容的操作系統和框架,例如:

  • Windows, Azure
  • .NET Core 2.1、3.0、3.1、.NET 5
  • .NET Standard 2.0 相容性用於通用兼容性

    Azure

  • AWS

    Docker

  • Linux

3. PSPDFKit

PSPDFKit 庫 for .NET 是一個軟體開發工具包(SDK)用於編輯、填寫表單、編輯和製作PDF。 它提供了一個強大的 API,可以快速將 PDF 功能添加到任何 .NET 應用程式中。

PSPDFKit 是最受歡迎的跨平台工具之一,可為您的應用程式或網站新增 PDF 相容性。用於生產的 PSPDFKit SDK 需要商業授權。 PSPDFKit API 的主要優勢之一是它允許您在 PDF 生產工作流程中整合各種文件操作方法,例如:

  • 編輯PDF文件
  • 光學字符識別
  • 浮水印
  • 文件轉換

3.1. PSPDFKit 功能

PSPDFKit 支援所有最受歡迎的註解工具:

  • 文本
  • 墨水
  • 橢圓形、多線段、多邊形、矩形、直線
  • 注意
  • 鏈接
  • 突出顯示、底線、刪除線、波浪線、遮罩

3.1.1. .NET中的XFDF文件

PSPDFKit .NET Library 支援讀取和寫入 XFDF 檔案。 Document 類別的 ImportXfdf 和 ExportXfdf 方法可以用來執行這些任務。

3.1.2. 渲染 PDF 頁面

PSPDFKit .NET 庫使 PDF 轉換為圖像變得容易。 為了保證兼容性和效率,PSPDFKit 使用原生的 .NET 標準功能。

3.1.3. 合併PDF

文件編輯器可用於將多個文件合併成一個統一的文件。

3.1.4. PDF 涂除

根據GDPR和其他隱私規定,通過永久刪除個人信息來從PDF文件中移除敏感、機密或特權信息。

3.1.5. 即時 JSON

註解和書籤使用 Instant JSON 儲存在一個單獨的 JSON 文件中。 這意味著 PDF 檔案只需傳輸一次,任何修改都將作為疊加添加到原始 PDF。

4. 在 Visual Studio 中創建一個新專案

在這篇文章中,我們將使用一個新的控制台應用程式來生成 PDF 文件。

開啟 Visual Studio 軟體並進入檔案選單。 選擇「新專案」,然後選擇控制台應用程式。

輸入專案名稱並在相應的文本框中選擇路徑。 然後,點擊建立按鈕。 如以下截圖所示,選擇所需的 .NET 框架:

IronPDF與PSPDFKit的比較,圖1

Visual Studio 專案現在將為選定的應用程式生成結構。

IronPDF 與 PSPDFKit 比較,圖 2

在下一節中,我們將添加 IronPDF 和 PSPDFKit 庫到項目中。

5. 安裝 IronPDF 庫

IronPDF 庫可以透過四種不同的方式下載和安裝。 這些是:

  • 使用 Visual Studio 的 NuGet 套件管理器
  • 使用 Visual Studio 命令行
  • 直接從 NuGet 畫廊下載
  • 從 IronPDF 官方網站直接下載

5.1 使用 Visual Studio NuGet 套件管理器

Visual Studio 軟體提供 NuGet Package Manager 選項,讓使用者可以將套件直接安裝到解決方案中。 以下截圖顯示如何打開 NuGet Package Manager。

IronPDF 與 PSPDFKit 的比較,第 3 圖

一旦套件管理器 GUI 開啟,在「瀏覽」部分搜索關鍵字「IronPDF」,如下面的截圖所示:

IronPDF與PSPDFKit的比較,圖4

我們需要在搜索結果中選擇IronPDF選項並安裝該套件。

5.2 使用 Visual Studio 命令列

  • 在 Visual Studio 選單中,前往 工具 > NuGet 套件管理員 > 套件管理員主控台
  • 在套件管理器主控台標籤頁中輸入以下行:
Install-Package IronPdf

現在將在當前項目中安裝 IronPDF 套件。

IronPDF 和 PSPDFKit 比較,圖5

5.3 從 NuGet 資料庫直接下載

第三種方法是直接從NuGet套件下載IronPDF NuGet Gallery 網頁.

  • 從右側菜單中選擇下載套件選項。
  • 雙擊下載的包; 它將自動安裝。
  • 接下來,重新載入解決方案並開始在專案中使用它。

5.4 從 IronPDF 官方網站直接下載

訪問IronPDF 下載頁面從網站直接下載最新的套件。下載後,按照以下步驟將套件添加到專案中。

  • 在解決方案窗口中右鍵點擊專案。
  • 然後,選擇「添加引用」,並瀏覽已下載引用的存放位置。
  • 接下來,點擊確定以添加參考。

6. 安裝PSPDFKit庫

有四種方式可以獲取和安裝PSPDFKit庫。 如下:

  • 使用 Visual Studio 的 NuGet 套件管理器
  • 使用 Visual Studio 命令列
  • 直接從 NuGet 畫廊下載
  • 使用 VSIX 擴充功能

6.1 使用 Visual Studio NuGet 套件管理器

開發人員可以使用 NuGet 套件管理器輕鬆整合 PSPDFKit。 下面是一個示例說明如何做到這一點。

IronPDF與PSPDFKit的比較,圖6

在工具中點擊 NuGet 套件管理器後,將會出現一個帶有搜尋欄的新視窗。 搜尋 PSPDFKit。 將顯示一個列表。

IronPDF與PSPDFKit的比較,第7圖

在上圖中,我們可以看到搜尋結果中的相關套件列表。 接下來,選擇所需的PSPDFKit選項並安裝套件。

6.2 使用 Visual Studio 命令列

  • 在 Visual Studio 選單中,前往 工具 > NuGet 套件管理員 > 套件管理員主控台

    IronPDF 與 PSPDFKit 的比較,圖 8

  • 在套件管理器主控台標籤頁中輸入以下行:
Install-Package PSPDFKit.NET -Version 1.4.1

該套件將安裝在當前專案中。

IronPDF 與 PSPDFKit 的比較,圖 9

第三種方法是直接從NuGet套件下載PSPDFKit 的 NuGet Gallery 頁面.

  • 選擇從右側選單中下載套件的選項。
  • 雙擊下載的套件以開始安裝過程。
  • 重新載入解決方案,並在您的專案中使用它。

6.4 使用 VSIX 擴充套件

而不是在本地下載套件使用NuGet,您可以使用配置文件在特定位置引用該套件。 這在擁有在網路上共享資源的機器的情況下是很有用的。

  • 從 下載 VSIX 擴充套件PSPDFKit 下載頁面並提取 zip。
  • 然後,在與您的 .NET 應用程式相同的目錄中建立一個 nuget.config 檔案。
  • 該文件應包含此 XML 代碼。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="PSPDFKitSource" value="path\to\directoryContainingNupkg" />
    </packageSources>
</configuration>
XML
  • 接著,開啟 Visual Studio,並在參考標籤下配置以下套件。

7. 合併PDF文件

可能需要將一些必要的文件附加到 PDF 文件中。在本主題中,我們將討論如何在兩個 .NET 平台上合併兩個或多個 PDF。

7.1. 使用 IronPDF 合併 PDF 文件

IronPDF 的 IronPdf.PdfDocument.Merge 類使您能夠在 C#.NET 中通過簡單易懂的代碼輕鬆合併兩個或以上的 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 Renderer = new IronPdf.ChromePdfRenderer();
using var pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a);
using var pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b);
using 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 Renderer = new IronPdf.ChromePdfRenderer();
using var pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a);
using var pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b);
using 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 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#

7.2. 使用 PSPDFKit GMBH 合併 PDF

以下代碼示範如何使用PSPDFKit文件編輯器合併兩個或更多PDF檔案。

using PSPDFKit;
using PSPDFKit.Providers;

namespace PdfEditing
{
    public sealed class Program
    {
        public static void Main(string [] args)
        {
            var documentEditor = new DocumentEditor();
            documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, new FileDataProvider("Assets/dog.pdf"));
            documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, new FileDataProvider("Assets/cat.pdf"));

            documentEditor.SaveDocument(new FileDataProvider("dogCatPair.pdf"));
        }
    }
}
using PSPDFKit;
using PSPDFKit.Providers;

namespace PdfEditing
{
    public sealed class Program
    {
        public static void Main(string [] args)
        {
            var documentEditor = new DocumentEditor();
            documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, new FileDataProvider("Assets/dog.pdf"));
            documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, new FileDataProvider("Assets/cat.pdf"));

            documentEditor.SaveDocument(new FileDataProvider("dogCatPair.pdf"));
        }
    }
}
Imports PSPDFKit
Imports PSPDFKit.Providers

Namespace PdfEditing
	Public NotInheritable Class Program
		Public Shared Sub Main(ByVal args() As String)
			Dim documentEditor As New DocumentEditor()
			documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, New FileDataProvider("Assets/dog.pdf"))
			documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, New FileDataProvider("Assets/cat.pdf"))

			documentEditor.SaveDocument(New FileDataProvider("dogCatPair.pdf"))
		End Sub
	End Class
End Namespace
VB   C#

8. 註解

註解是一種評論或備註,添加到文本中以解釋或批評其特定部分。 在本主題中,我們將討論如何使用 .NET 在 PDF 中添加註釋。

8.1. 使用 IronPDF 進行註解

PDF 註解允許您在 PDF 文件中添加 "便利貼" 樣式的評論。 IronPdf.PdfDocument.AddTextAnnotation 方法和 PdfDocument.TextAnnotation 類別允許以程式方式新增註解。 提供了進階的文字註釋選項,包括著色、大小、不透明度、圖標和編輯功能。

// PM> Install-Package IronPdf

using IronPdf;

using PdfDocument Pdf = PdfDocument.FromFile("existing.pdf");
var Annotation = new IronPdf.Annotations.TextAnnotation()
{
    Title = "This is the major title",
    Subject = "This is a subtitle",
    Contents = "This is the long 'sticky note' comment content...",
    Icon = IronPdf.Annotations.TextAnnotation.AnnotationIcon.Help,
    Opacity = 0.9,
    Printable = false,
    Hidden = false,
    OpenByDefault = true,
    ReadOnly = false,
    Rotateable = true
};
Pdf.AddTextAnnotation(Annotation, 1, 150, 250);
Pdf.SaveAs("existing.pdf");
// PM> Install-Package IronPdf

using IronPdf;

using PdfDocument Pdf = PdfDocument.FromFile("existing.pdf");
var Annotation = new IronPdf.Annotations.TextAnnotation()
{
    Title = "This is the major title",
    Subject = "This is a subtitle",
    Contents = "This is the long 'sticky note' comment content...",
    Icon = IronPdf.Annotations.TextAnnotation.AnnotationIcon.Help,
    Opacity = 0.9,
    Printable = false,
    Hidden = false,
    OpenByDefault = true,
    ReadOnly = false,
    Rotateable = true
};
Pdf.AddTextAnnotation(Annotation, 1, 150, 250);
Pdf.SaveAs("existing.pdf");
' PM> Install-Package IronPdf

Imports IronPdf

Private PdfDocument As using
Private Annotation = New IronPdf.Annotations.TextAnnotation() With {
	.Title = "This is the major title",
	.Subject = "This is a subtitle",
	.Contents = "This is the long 'sticky note' comment content...",
	.Icon = IronPdf.Annotations.TextAnnotation.AnnotationIcon.Help,
	.Opacity = 0.9,
	.Printable = False,
	.Hidden = False,
	.OpenByDefault = True,
	.ReadOnly = False,
	.Rotateable = True
}
Pdf.AddTextAnnotation(Annotation, 1, 150, 250)
Pdf.SaveAs("existing.pdf")
VB   C#

8.2. 使用 PSPDFKit 的註解

PSPDFKit for .NET 提供基於 JSON 的 API 來描述 PDF 註解。 這在處理註釋時給予您很大的自由,因為您可以在程式碼中加入手工註釋,或在需要時匯入JSON文件中的註釋。

using Newtonsoft.Json.Linq;
using PSPDFKit;
using PSPDFKit.Providers;

namespace Annotations
{
    public sealed class Program
    {
        public static void Main(string [] args)
        {
            var Provider = new FileDataProvider("document.pdf");
            var documentpdf = new Document(Provider);
            var aProvider = document.GetAnnotationProvider();
            var textAnJson = new JObject
            {
                { "text", "Hello from PSPDFKit" },
                { "bbox", new JArray(10, 10, 400, 400) },
                { "creatorName", "Will" },
                { "type", "pspdfkit/text" },
                { "updatedAt", "2021-01-01T00:00:00Z" },
                { "v", 1 }
            };

            annotationProvider.AddAnnotationJson(textAnJson);

            document.Save(new DocumentSaveOptions())
        }
    }
}
using Newtonsoft.Json.Linq;
using PSPDFKit;
using PSPDFKit.Providers;

namespace Annotations
{
    public sealed class Program
    {
        public static void Main(string [] args)
        {
            var Provider = new FileDataProvider("document.pdf");
            var documentpdf = new Document(Provider);
            var aProvider = document.GetAnnotationProvider();
            var textAnJson = new JObject
            {
                { "text", "Hello from PSPDFKit" },
                { "bbox", new JArray(10, 10, 400, 400) },
                { "creatorName", "Will" },
                { "type", "pspdfkit/text" },
                { "updatedAt", "2021-01-01T00:00:00Z" },
                { "v", 1 }
            };

            annotationProvider.AddAnnotationJson(textAnJson);

            document.Save(new DocumentSaveOptions())
        }
    }
}
Imports Newtonsoft.Json.Linq
Imports PSPDFKit
Imports PSPDFKit.Providers

Namespace Annotations
	Public NotInheritable Class Program
		Public Shared Sub Main(ByVal args() As String)
			Dim Provider = New FileDataProvider("document.pdf")
			Dim documentpdf = New Document(Provider)
			Dim aProvider = document.GetAnnotationProvider()
			Dim textAnJson = New JObject From {
				{ "text", "Hello from PSPDFKit" },
				{ "bbox", New JArray(10, 10, 400, 400) },
				{ "creatorName", "Will" },
				{ "type", "pspdfkit/text" },
				{ "updatedAt", "2021-01-01T00:00:00Z" },
				{ "v", 1 }
			}

			annotationProvider.AddAnnotationJson(textAnJson)

			document.Save(New DocumentSaveOptions())
		End Sub
	End Class
End Namespace
VB   C#

9. 授權

IronPDF 提供免費的開發者授權。 IronPDF 還提供獨特的定價結構:基礎包從 $749 起,不收取額外費用。 也可以重新分發 SaaS 和 OEM 產品。 所有授權均包含30天退款保證、一年的軟體支援與升級、開發/測試/生產環境的有效性,以及永久授權。(一次性購買). 了解 IronPDF 授權詳細資訊探索 IronPDF 的可用授權和定價結構。

PSPDFKit 為其開發的生產力工作流程提供五種類型的授權。 它有每月最多100個文件的免費許可證; 對於超過該數量的任何內容,您將需要購買以下套餐之一:

  • 入門套件(每月最多1000份文件,每月$75或每年$804)
  • 成長方案(每月最多5000份文件,月費$275或年費$2964。)
  • 專業套裝(每月最多處理10,000份文件,每月$445或每年$4788)
  • 企業套件(每月超過 10,000 份文件,請聯繫公司以獲取報價。)

    ThisPSPDFKit 定價頁面詳細說明PSPDFKit的完整價格結構。

10. 結論

IronPDF不會從遠端伺服器將HTML轉換為PDF。 相反,它會在幕後啟動一個符合標準的真實瀏覽器實例。(無需安裝任何額外的軟體). HTML 以矢量格式渲染,適合商業印刷滿足最高標準。 因此,您會得到清晰、高質量的 PDF。 IronPDF網站提供關於許可證和價格的信息。

PSPDFKit 是一個功能全面的 PDF SDK,支持所有平台,包括 PC、MAC、Android 應用程式和 IOS。 它幫助轉換、註釋、簽署、填寫、轉換和編輯 PDF 文件。 PSPDFKit 是最廣泛使用的跨平台解決方案,用於在您的應用程式或網站中整合 PDF 支援。

IronPDF和PSPDFKit均需要商業授權才能在生產環境中使用。 IronPDF 提供終身授權,而 PSPDFKit 提供每月和每年的套件。 IronPDF 授權是以開發者為中心的。 其定價模型基於使用該產品的開發人員數量及其工作地點進行設計。 PSPDFKit 授權是以文件為中心的,結構基於每月處理的 PDF 文件數量。 就費用而言,使用PSPDFKit會產生持續的開支。 另一方面,IronPDF 提供無需定期費用的終身授權。

IronPDF 和 PSPDFKit 都是基於相似技術的業界領先框架,提供相同的基本 PDF 處理功能。 使用 IronPDF 寫的代碼通常更簡潔和緊湊。 使用PSPDFKit代碼編寫的代碼同樣易於理解,但結構稍微複雜一些。

Iron Software 提供五套工具的捆綁包,僅需支付兩套的價格。 提供的工具有:

-IronBarcode

-IronXL

-IronOCR

-IronPDF

-IronWebscraper

要了解更多有關捆綁工具的資訊,請訪問IronSuite官方頁面.

< 上一頁
IronPDF與PDFNet比較
下一個 >
QuestPDF 和 IronPDF 的比較

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

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