产品比较

IronPDF与PSPDFKit的比较

发布 2022年十一月13日
分享:

1.导言

使用编程语言处理 PDF 对于开发人员来说相当困难,尤其是在 .NET 平台上。在本文中,我们将讨论如何使用几种工具在 C#.NET 中管理 PDF,这些工具将帮助您节省大量的时间和精力。在显示 PDF 文件中的材料时需要考虑几个要素,而将内容从其他格式转移到 PDF 时更需要考虑这些要素。我们将讨论的工具都是业内顶级产品,被开发人员和财富 500 强公司或组织广泛使用。这些.NET工具将立即为您的 PDF 问题提供解决方案。

  • 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.编辑 PDFS

通过 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 标准 2.0,实现通用兼容性
  • Azure
  • AWS
  • Docker
  • Linux

3.PSPDFKit

PSPDFKit Library for .NET是一个软件开发工具包。 (SDK) 该控件用于编辑、填写表格、编辑和制作 PDF。它提供了一个强大的应用程序接口,可快速将 PDF 功能添加到任何 .NET 应用程序中。

PSPDFKit 是为应用程序或网站添加 PDF 兼容性的最流行的跨平台工具之一。对于生产用途,PSPDFKit SDK 需要商业许可。PSPDFKit API 的主要优势之一是允许您在 PDF 制作工作流程中集成各种文档处理方法,例如

  • 编辑 PDF
  • 光学字符识别
  • 水印
  • 文件转换

3.1.PSPDFKit 功能

PSPDFKit 支持所有最流行的注释工具:

  • 文本
  • 墨水
  • 椭圆、折线、多边形、矩形、直线
  • 注释
  • 链接
  • 高亮、下划线、删除线、斜线、重写

3.1.1..NET中的XFDF文件

PSPDFKit .NET 库支持读写 XFDF 文件。文档类的 ImportXfdf 和 ExportXfdf 方法可用于执行这些任务。

3.1.2.渲染 PDF 页面

PSPDFKit .NET 库可以轻松地将 PDF 转换为图像。为了保证兼容性和效率,PSPDFKit 使用了本地 .NET 标准功能。

3.1.3.合并 PDF

文档编辑器可用于将多个文档合并为一个统一的文档。

3.1.4.PDF 重编辑

通过永久删除 PDF 文档中的个人信息,删除敏感、机密或保密信息,以符合 GDPR 和其他隐私规则。

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 包管理器选项,可直接将软件包安装到解决方案中。下面的截图显示了如何打开 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 软件包。

  • 导航至 PSPDFKit 的 NuGet 图库 页码.
  • 从右侧菜单中选择下载软件包的选项。
  • 双击下载的软件包,开始安装过程。
  • 重新加载解决方案并在项目中使用。

6.4 使用 VSIX 扩展程序

使用 NuGet此外,您还可以使用配置文件在特定位置引用软件包。这在机器共享网络资源的情况下非常有用。

  • 下载 这里 并解压缩。
  • 然后,在与 .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.1.使用 PSPDFKit 进行注释

对于描述 PDF 注释,.NET 版 PSPDFKit 提供了基于 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 还提供独特的定价结构:基本捆绑软件的起价为"$liteLicense",没有额外费用。您也可以重新发布 SaaS 和 OEM 产品。所有许可证均包含 30 天退款保证、一年的软件支持和升级、开发/分期/生产有效性以及永久许可证。 (一次性购买). 了解更多 了解 IronPDF 的可用许可证和定价结构。

PSPDFKit 为其开发的生产力工作流程提供五种许可证。它提供每月最多 100 个文档的免费许可证;如果超过这个数量,则需要购买以下套餐之一:

  • 入门套餐 (每月最多 1000 份文件,月费 75 美元或年费 804 美元)
  • 成长一揽子计划 (每月最多 5000 份文件,月费 275 美元或年费 2964 美元)
  • 专业包 (每月最多 10000 份文件,月费 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 提供五款工具捆绑包,只需两款工具的价格。提供的工具包括

请访问此链接了解更多信息 Iron Suite

< 前一页
IronPDF 与 PDFNet 之间的比较
下一步 >
QuestPDF与IronPDF的比较

准备开始了吗? 版本: 2024.10 刚刚发布

免费NuGet下载 总下载量: 11,108,738 查看许可证 >