產品比較

IronPDF與PSPDFKit的比較

發佈 2022年11月13日
分享:

1. 介紹

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

  • PSPDFKit
  • IronPDF

2. IronPDF

IronPDF 是在 .NET 和 .NET core 開發中轉換 HTML 網站的理想解決方案。它的不僅僅是轉換 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 表單、HTML 字串、MVC 視圖和 URL。

2.1.4. 編輯PDF

這款IronPDF工具允許你以多種方式格式化PDF,包括添加水印、添加頁面、刪除頁面、更改背景和前景等等。簡而言之,IronPDF可以實現你能想像到的所有PDF操作。

2.1.5. PDF內容提取

可以輕鬆地提取PDF中的嵌入文字。然而,如果這並不奏效,很可能是因為文字被「困在」圖片中。若要掃描文件中的圖像文字而不是純文字,請使用IronOCR庫。

2.1.6. 頁首和頁尾

當創建 PDF 或添加到現有 PDF 時,可以包含頁首和頁尾。您可以使用列印選項屬性為每個文檔頁面創建頁首和頁尾。這些參數可在 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 Library for .NET 是一個軟體開發套件 (SDK) 用於編輯、填寫表單、編輯和生成PDF。它提供了一個強大的API,可以快速將PDF功能添加到任何.NET應用中。

PSPDFKit 是最受歡迎的跨平台工具之一,能夠為您的應用或網站增加PDF兼容性。生產環境使用需要PSPDFKit SDK 的商業許可證。PSPDFKit API的主要優勢之一是它允許您在PDF生產工作流程中集成各種文檔操作方法,如:

  • 編輯PDF
  • OCR
  • 水印
  • 文檔轉換

3.1. PSPDFKit 功能

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

  • 文字
  • 墨跡
  • 橢圓、多段線、多邊形、矩形、線條
  • 註釋
  • 鏈接
  • 高亮、下劃線、刪除線、波浪線、遮蓋

3.1.1. .NET 中的XFDF 文件

PSPDFKit .NET 库支持读取和写入XFDF文件。Document 类的 ImportXfdf 和 ExportXfdf 方法可以用来执行这些任务。

3.1.2. 渲染 PDF 頁面

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

3.1.3. 合併 PDF

您可以使用文檔編輯器將多個文檔合併為單一的統一文檔。

3.1.4. PDF 隱藏

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

3.1.5. 即時 JSON

註釋和書籤會使用即時 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 套件管理器選項,可以將套件直接安裝到解決方案中。以下螢幕截圖顯示了如何打開 NuGet 套件管理器。

IronPDF 與 PSPDFKit 的比較,第 3 圖

一旦套件管理器用戶介面打開,在「瀏覽」區段搜尋關鍵字 "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 網頁下載

點擊 連結 從網頁直接下載最新的套件。下載後,請按照以下步驟將套件新增到專案中。

  • 在方案視窗中右鍵點擊專案。
  • 然後,選擇參考選項並瀏覽已下載參考的位置。
  • 接著,點擊確認以新增參考。

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

6.3 從 NuGet 網頁直接下載

第三種方法是直接從網頁下載 NuGet package。

  • 瀏覽到 PSPDFKit 的 NuGet Gallery 頁面.
  • 從右側菜單中選擇下載套件的選項。
  • 雙擊下載的套件以開始安裝過程。
  • 重新加載解決方案並在項目中使用它。

6.4 使用 VSIX 擴充套件

除了本地下載套件 NuGet您可以使用配置文件在特定位置引用該套件。在多台機器共享網絡資源的情況下,這非常有用。

  • 從這裡下載 這裡 並解壓 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 Document Editor來合併兩個或更多的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.1. 使用PSPDFKit進行註釋

為了描述PDF註釋,PSPDFKit for .NET 提供了一個基於JSON的API。這給了您在處理註釋時很大的自由度,因為您可能在代碼中有手寫的註釋,或者在需要時導入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的可用許可和價格結構。

PSPDFKit針對其開發的生產力工作流程提供五種類型的許可。它提供每月最多100份文件的免費許可;如果超過這個數量,您將需要購買以下其中一個套裝:

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

這個 頁面 詳細說明PSPDFKit的完整價格結構。

10. 結論

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

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

請訪問此鏈接以瞭解更多有關 IronSuite

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

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

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