跳過到頁腳內容
產品比較

IronPDF與PSPDFKit的比較

1. 介紹

使用程式語言操控PDF對於開發者來說可能相當具有挑戰性,尤其是在.NET平台上。 在本文中,我們將討論如何在C#.NET中管理PDF,使用多種工具幫助您節省大量生產力時間和精力。 展示PDF文件中的材料時有多個元素需要考量,而從其他格式轉移內容至PDF時更是如此。 我們將討論的工具是開發者及財富500強公司或組織使用的頂級產品。 .NET工具可以即時提供您的PDF問題解決方案如下:

  • PSPDFKit
  • IronPDF

2. IronPDF

IronPDF是將HTML網站轉換為.NET和.NET core開發的理想解決方案。 除了轉換HTML之外,它還提供了多種額外功能。 IronPDF允許開發者在.NET Core和framework專案中創建、修改和提取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,快速為任何.NET應用增加PDF功能。

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

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

3.1. PSPDFKit功能

PSPDFKit支持所有最受歡迎的註釋工具:

  • 文本
  • 墨水
  • 橢圓、多折線、多邊形、矩形、線
  • 筆記
  • 連結
  • 突出顯示、下劃線、刪除線、波浪線、編修

3.1.1. .NET中的XFDF文件

PSPDFKit .NET程式庫支持讀取和寫入XFDF文件。 ExportXfdf方法可以用來執行這些任務。

3.1.2. 渲染PDF頁面

PSPDFKit .NET程式庫使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框架,如下圖所示:

A Comparison Between IronPDF and PSPDFKit, Figure 1

Visual Studio項目現在將生成所選應用的結構。

A Comparison Between IronPDF and PSPDFKit, Figure 2

在下一部分,我們將在項目中添加IronPDF和PSPDFKit程式庫。

5. 安裝IronPDF程式庫

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

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

5.1 使用Visual Studio NuGet套件管理器

Visual Studio軟體提供了NuGet套件管理器選項,可以直接將套件安裝到解決方案中。 下面的截圖顯示了如何打開NuGet包管理器。

A Comparison Between IronPDF and PSPDFKit, Figure 3

一旦包管理器GUI打開,請在"瀏覽"區域搜尋關鍵詞"IronPDF",如下圖所示:

A Comparison Between IronPDF and PSPDFKit, Figure 4

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

5.2 使用Visual Studio命令行

  • 在Visual Studio選單中,進入 工具 > NuGet 套件管理器 > 套件管理器控制台
  • 在套件管理器控制台選項卡中輸入以下行:
Install-Package IronPdf

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

A Comparison Between IronPDF and PSPDFKit, Figure 5

5.3 從NuGet Gallery直接下載

第三種方法是直接從IronPDF NuGet Gallery網頁下載NuGet包。

  • 從右邊的選單中選擇下載包選項。
  • 雙擊下載的包; 它將自動安裝。
  • 接著,重新加載解決方案並在項目中使用它。

5.4 從IronPDF的官方網站直接下載

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

  • 從解決方案視窗中右鍵單擊項目。
  • 然後,選擇"添加引用"並瀏覽下載的參考位置。
  • 接著,按下確定添加參考。

6. 安裝PSPDFKit程式庫

獲取並安裝PSPDFKit程式庫有四種方法。 這些方法如下:

  • 使用Visual Studio NuGet套件管理器
  • 使用Visual Studio命令行
  • 從NuGet Gallery直接下載
  • 使用VSIX擴展

6.1 使用Visual Studio NuGet套件管理器

開發者可以輕鬆地使用NuGet套件管理器整合PSPDFKit。 如下圖所示的示例。

A Comparison Between IronPDF and PSPDFKit, Figure 6

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

A Comparison Between IronPDF and PSPDFKit, Figure 7

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

6.2 使用Visual Studio命令行

  • 在Visual Studio選單中,進入 工具 > NuGet 套件管理器 > 套件管理器控制台
A Comparison Between IronPDF and PSPDFKit, Figure 8

  • 在套件管理器控制台選項卡中輸入以下行:
Install-Package PSPDFKit.NET -Version 1.4.1

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

A Comparison Between IronPDF and PSPDFKit, Figure 9

6.3 從NuGet Gallery直接下載

第三種方法是直接從PSPDFKit的NuGet Gallery頁面下載NuGet包。

  • 從右側選單中選擇包下載選項。
  • 雙擊下載的包以開始安裝過程。
  • 重新加載解決方案並在項目中使用它。

6.4 使用VSIX擴展

而不是通過NuGet將包下載到本地,您可以使用配置文件在特定位置引用包。 這在您的某些機器共享網絡資源的情況下很有用。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="PSPDFKitSource" value="path\to\directoryContainingNupkg" />
    </packageSources>
</configuration>
<?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;

// Example HTML content for PDF_A
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>";

// Example HTML content for PDF_B
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>";

// Initialize renderer
var Renderer = new IronPdf.ChromePdfRenderer();

// Render HTML to PDFs
using var pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a);
using var pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b);

// Merge PDFs
using var merged = IronPdf.PdfDocument.Merge(pdfdoc_a, pdfdoc_b);

// Save merged PDF to file
merged.SaveAs("Merged.pdf");
using IronPdf;

// Example HTML content for PDF_A
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>";

// Example HTML content for PDF_B
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>";

// Initialize renderer
var Renderer = new IronPdf.ChromePdfRenderer();

// Render HTML to PDFs
using var pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a);
using var pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b);

// Merge PDFs
using var merged = IronPdf.PdfDocument.Merge(pdfdoc_a, pdfdoc_b);

// Save merged PDF to file
merged.SaveAs("Merged.pdf");
$vbLabelText   $csharpLabel

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();
            // Import the first document to merge
            documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, new FileDataProvider("Assets/dog.pdf"));
            // Import the second document to merge
            documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, new FileDataProvider("Assets/cat.pdf"));

            // Save the merged document to a new file
            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();
            // Import the first document to merge
            documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, new FileDataProvider("Assets/dog.pdf"));
            // Import the second document to merge
            documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, new FileDataProvider("Assets/cat.pdf"));

            // Save the merged document to a new file
            documentEditor.SaveDocument(new FileDataProvider("dogCatPair.pdf"));
        }
    }
}
$vbLabelText   $csharpLabel

8. 註釋

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

8.1. 使用 IronPDF 的註釋

PDF註釋允許您在PDF文件中添加"便利貼"樣式的評論。 PdfDocument.TextAnnotation類允許註釋以程式方式添加進去。 著色、大小、不透明度、圖標和編輯屬於提供的高級文本註釋選項之一。

// Install-Package IronPdf

using IronPdf;

var 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
};

// Add annotation to a specific page at given coordinates
pdf.AddTextAnnotation(annotation, pageIndex: 1, xPosition: 150, yPosition: 250);

// Save the updated PDF
pdf.SaveAs("updated_existing.pdf");
// Install-Package IronPdf

using IronPdf;

var 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
};

// Add annotation to a specific page at given coordinates
pdf.AddTextAnnotation(annotation, pageIndex: 1, xPosition: 150, yPosition: 250);

// Save the updated PDF
pdf.SaveAs("updated_existing.pdf");
$vbLabelText   $csharpLabel

8.2. 使用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 document = new Document(provider);
            var annotationProvider = document.GetAnnotationProvider();

            // JSON structure for a text annotation
            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 }
            };

            // Add the annotation to the document
            annotationProvider.AddAnnotationJson(textAnJson);

            // Save the updated document
            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 document = new Document(provider);
            var annotationProvider = document.GetAnnotationProvider();

            // JSON structure for a text annotation
            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 }
            };

            // Add the annotation to the document
            annotationProvider.AddAnnotationJson(textAnJson);

            // Save the updated document
            document.Save(new DocumentSaveOptions());
        }
    }
}
$vbLabelText   $csharpLabel

Bootstrap和現代CSS框架支持

當從使用Bootstrap和現代CSS框架的Web應用生成PDF時,完整的框架支持至關重要,以保持設計一致性,而無需創建平行的"PDF安全"佈局。

IronPDF:完整的Bootstrap框架支持

IronPDF的基於Chromium的渲染引擎提供了全面的支持:

  • Bootstrap 5: 完整的flexbox佈局、CSS Grid、實用類以及所有組件
  • Bootstrap 4:完整的卡片系統、導航、flex工具、響應設計
  • Tailwind CSS:所有實用類正確渲染
  • Foundation:完整的網格系統和組件庫
  • 現代CSS3:Flexbox、CSS Grid、自定義屬性、動畫

實際驗證:IronPDF可以像素級精確渲染Bootstrap主頁和所有官方範例

PSPDFKit:不支持HTML到PDF的轉換

PSPDFKit專注於PDF的查看、註釋和操作,而不是HTML到PDF的轉換:

  • 沒有HTML渲染引擎: PSPDFKit不轉換HTML為PDF
  • 查看器導向: 設計用於PDF顯示和互動,而非生成
  • 需要外部轉換: HTML到PDF必須由其他工具處理
  • JavaScript SDK: 客戶端PDF查看器,而非伺服端生成庫

開發影響:需要HTML到PDF轉換的團隊必須與PSPDFKit集成額外的工具,增加了複雜性和維護需求。

有關全面的Bootstrap框架指南和現代CSS渲染能力,請參見Bootstrap & Flexbox CSS指南

9. 授權

IronPDF提供免費開發者授權。 IronPDF還提供獨特的定價結構:基本包以特定價格開始,無需額外費用。 還可以再分發SaaS和OEM產品。 所有授權均包含30天退款保證、一年的軟體支援和升級、開發/預生產/生產有效期以及永久授權(一次性購買)。 了解IronPDF授權細節以探索IronPDF提供的授權和價格結構。

PSPDFKit提供五種類型的授權,用於它開發的生產力工作流程。 它有一個月最多100個文檔的免費授權; 超過該數量,您將需要購買以下包中的一個:

  • 起步包(每月最多1000個文檔,月費$75或年費$804)
  • 成長包(每月最多5000個文檔,月費$275或年費$2964)
  • 專業包(每月最多10000個文檔,月費$445或年費$4788)
  • 企業包(每月超過10,000個文檔,請聯絡公司報價)

PSPDFKit定價頁面詳述了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正在以僅兩個的價格提供一個五工具捆綁包。 提供的工具有:

要了解關於捆綁工具的更多信息,請訪問Iron Suite官方頁面

請注意PSPDFKit是其合法所有者的註冊商標。 本網站與PSPDFKit無關,不經其認可或贊助。 所有產品名稱、標誌和品牌均屬於其相應所有者的財產。 比較僅供信息之用,並基於撰寫時的公開信息。)}]

常見問題解答

怎樣在 C# 中將 HTML 轉換為 PDF?

您可以使用 IronPDF 的 RenderHtmlAsPdf 方法將 HTML 字符串轉換為 PDF。您還可以使用 RenderHtmlFileAsPdf 將 HTML 文件轉換為 PDF。

IronPDF 的主要功能有哪些?

IronPDF 提供功能如 PDF 成像、加密、轉換、編輯,並且兼容多個平台,包括 Windows、Azure 和 Linux。它還透過 Visual Studio NuGet Package Manager 提供簡單的集成。

PSPDFKit 如何支持 PDF 功能?

PSPDFKit 支持廣泛的 PDF 功能,包括編輯、OCR、水印和文件轉換。它還提供豐富的註釋功能以及有效的文件合併和遮蓋。

如何在 .NET 專案中安裝 IronPDF?

IronPDF 可以使用 Visual Studio NuGet Package Manager、Visual Studio 命令行,或直接從 NuGet Gallery 或 IronPDF 的官方網站進行安裝。

IronPDF 的許可選項有哪些?

IronPDF 提供無需定期費用的終身許可證。它包括一個免費的開發者許可證和一個獨特的定價結構,提供 30 天退款保證、軟件支持和一年的更新。

IronPDF 和 PSPDFKit 的價格有何不同?

IronPDF 提供無需定期費用的終身許可證,而 PSPDFKit 則提供月度和年度套餐,需定期付款。IronPDF 專注於以開發者為中心的許可,基於用戶和地點數量,而 PSPDFKit 的許可則以文件為中心,基於月度文件處理量。

Iron Software 捆綁包中提供了哪些其他工具?

Iron Software 提供了一個包括 IronBarcode、IronXL、IronOCR、IronPDF 和 IronWebscraper 的五合一工具捆綁包。這些工具為 .NET 應用開發提供了全面的解決方案。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me