IronPDF与PSPDFKit之间的比较
1.简介
使用编程语言操作PDF对于开发人员来说可能相当具有挑战性,尤其是在.NET平台上。 在本文中,我们将讨论如何使用几种工具在C#.NET中管理PDF,帮助您节省大量的生产力时间和精力。 在展示PDF文件中的内容时需要考虑几个因素,尤其是在从其他格式转移内容到PDF时更是如此。 我们将讨论的工具是被开发人员和财富500强公司或组织使用的顶级产品。 .NET工具可以瞬间为您的PDF问题提供解决方案,它们是:
- PSPDFKit
- IronPDF
2. IronPDF
IronPDF是在.NET和.NET核心开发中转换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 Forms、HTML字符串、MVC视图和URL。
2.1.4. 编辑 PDF
这个IronPDF工具允许您以多种方式格式化PDF,包括添加水印、添加页面、删除页面、更改背景和前景等。 简而言之,IronPDF可以做任何您能想到的关于PDF的事情。
2.1.5. PDF 内容提取
嵌入的PDF文本通常可以轻松提取。 然而,如果这不行,这很可能因为文本被"困"在图片中。 要扫描识别视觉文本而不仅仅是普通文本,可以使用IronOCR库。
2.1.6. 页眉和页脚
在创建PDF或添加到现有PDF时,可以包含页眉和页脚。 您可以使用打印选项属性为每个文档页面创建页眉和页脚。 这些参数可在Chrome PDF Renderer对象上获得。 本例在.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 轻松添加更多材料。
3. PSPDFKit
PSPDFKit .NET库是一个用于修改、填表、编辑和生成PDF的软件开发工具包(SDK)。 它提供了一个强大的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库使转换PDF为图像变得容易。 为了确保兼容性和效率,PSPDFKit使用了标准的.NET特性。
3.1.3. 合并PDF
Document Editor可以用于将多个文档合并为一个统一的文档。
3.1.4. PDF编辑痕迹
按照GDPR和其他隐私法规的规定,通过永久消除个人信息,从PDF文档中去除敏感、机密或特权信息。
3.1.5. Instant JSON
IronPDF包将在当前项目中安装。 这意味着PDF文件只需传输一次,任何修改将作为附加层覆盖在原始PDF之上。
4. 在 Visual Studio 中创建一个新项目
在本文中,我们将使用新的控制台应用程序生成PDF文档。
打开 Visual Studio 软件并转到文件菜单。 选择"新项目",然后选择控制台应用程序。
在适当的文本框中输入项目名称并选择路径。 然后,点击创建按钮。 根据下面的截图选择所需的 .NET 框架:

Visual Studio项目将现在生成所选应用程序的结构。

在下一节中,我们将项目中添加IronPDF和PSPDFKit库。
5. 安装 IronPDF 库
IronPDF库有四种不同的下载和安装方式。 这些是:
- 使用 Visual Studio NuGet 包管理器
- 使用 Visual Studio 命令行
- 从NuGet Gallery直接下载
- 从IronPDF官方网站直接下载
5.1 使用 Visual Studio NuGet 包管理器
Visual Studio软件提供NuGet包管理器选项直接将包安装到解决方案。 下面的截图显示了如何打开NuGet包管理器。

一旦Package Manager GUI打开,在浏览部分搜索关键字"IronPDF",如下面的截图中所示:

我们需要在搜索结果中选择IronPDF选项并安装该包。
5.2 使用 Visual Studio 命令行
- 在Visual Studio菜单中,转到工具 > NuGet包管理器 > 包管理器控制台
- 在包管理器控制台标签中输入以下行:
Install-Package IronPdf
IronPDF包将会现在安装在当前项目中。

5.3 从NuGet Gallery直接下载
第三种方式是直接从IronPDF NuGet画廊网页下载NuGet包。
- 从右侧菜单中选择下载包选项。
- 双击下载的包; 它将自动安装。
- 接下来,重新加载解决方案并开始在项目中使用它。
5.4 从IronPDF官方网站直接下载
访问IronPDF下载页面,直接从网站下载最新的包。下载后,按照下面的步骤将包添加到项目中。
- 从解决方案窗口右键点击项目。
- 然后,选择"添加引用"并浏览已下载引用的位置。
- 然后,单击确定以添加参考。
6. 安装PSPDFKit库
有四种方法可以获得和安装PSPDFKit库。 具体如下
- 使用 Visual Studio NuGet 包管理器
- 使用Visual Studio命令行
- 从NuGet Gallery直接下载
- 使用VSIX扩展
6.1 使用Visual Studio NuGet包管理器
开发人员可以轻松地使用NuGet包管理器集成PSPDFKit。 如何做到这一点的一个示例如下所示。

在工具中点击 NuGet 包管理器后,会出现一个新窗口,并带有搜索栏。 搜索PSPDFKit。 将出现一个列表。

在上图中,我们可以看到搜索所得包的列表。 接下来,选择所需的PSPDFKit选项并安装该包。
6.2 使用Visual Studio命令行
- 在Visual Studio菜单中,转到工具 > NuGet包管理器 > 包管理器控制台

- 在包管理器控制台标签中输入以下行:
Install-Package PSPDFKit.NET -Version 1.4.1
该包将会现在安装在当前项目中。

6.3 从NuGet Gallery直接下载
第三种方式是直接从PSPDFKit的NuGet Gallery页面下载NuGet包。
- 选择从右侧菜单下载包的选项。
- 双击已下载的包以启动安装过程。
- 重新加载解决方案并在项目中使用它。
6.4 使用VSIX扩展
而不是使用NuGet本地下载包,您可以使用配置文件在特定位置引用该包。 这在您的机器共享网络资源时很有用。
- 从PSPDFKit下载页面下载VSIX扩展并提取zip文件。
- 然后,在与.NET应用程序相同的目录中创建一个
nuget.config文件。 - 文件应包含这个XML代码。
<?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>- 接下来,打开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");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();
// 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"));
}
}
}8. 注释
注释是附加到文本的评论或批评,用于解释或评论特定区域。 在此主题中,我们将讨论如何使用.NET在PDF中添加注释。
8.1. 使用IronPDF的注释
PDF注释允许您在PDF文档中添加"便利贴"风格的评论。 IronPdf.PdfDocument.AddTextAnnotation方法和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");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());
}
}
}支持 Bootstrap 和现代 CSS 框架
在使用Bootstrap和现代CSS框架的Web应用程序中生成PDF时,完整的框架支持对于保持设计一致性至关重要,无需创建并行的"PDF安全"布局。
IronPDF:完整的 Bootstrap 框架支持
IronPDF的基于Chromium的渲染引擎提供全面支持:
- Bootstrap 5:完整的 Flexbox 布局、CSS Grid、实用类和所有组件 Bootstrap 4:完整的卡片系统、导航、弹性实用程序、响应式设计 Tailwind CSS:所有实用类都能准确渲染。 -基础:完整的网格系统和组件库 -现代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美元/年)
- 企业包(每月超过10000个文档,联系公司获取报价)
这个PSPDFKit定价页面详细介绍了PSPDFKit的完整价格结构。
10. 结论
IronPDF不从远程服务器将HTML转换为PDF。 相反,它在幕后启动一个真正标准兼容的浏览器实例(无需安装任何额外软件)。 HTML以适合商业印刷的矢量格式呈现,达到最高标准。 结果,您获得了清晰的高质量PDF。 IronPDF网站提供许可证和价格信息。
PSPDFKit是一个支持所有平台的全面PDF SDK,包括PC,Mac,安卓应用和iOS。 它提供过渡、注释、签名、填写、转换和编辑PDF文件的协助。 PSPDFKit是集成PDF支持到您的应用程序或网站中最广泛使用的跨平台解决方案。
IronPDF和PSPDFKit都需要商业许可证用于生产使用。 IronPDF提供终身许可证,而PSPDFKit则提供每月和每年套餐。 IronPDF的许可证以开发者为中心。 其定价模型是基于使用产品的开发者人数和他们的工作地点。 PSPDFKit的许可证是以文档为中心的,基于每月处理的PDF文档数量结构。 在成本方面,使用PSPDFKit会产生经常性费用。 另一方面,IronPDF提供终身特许的许可证,无经常性费用。
IronPDF和PSPDFKit都是基于相似技术的行业领先框架,提供相同的基本PDF处理功能。 使用IronPDF编写的代码往往更简洁紧凑。 使用PSPDFKit编写的代码同样易于理解,但结构稍复杂。
Iron Software 提供五个工具的套件,价格仅相当于两个的价格。 提供的工具有:
要了解更多关于捆绑工具的信息,请访问Iron Suite的官方网站。
常见问题解答
如何在C#中将HTML转换为PDF?
你可以使用IronPDF的RenderHtmlAsPdf方法将HTML字符串转换为PDF。你还可以使用RenderHtmlFileAsPdf将HTML文件转换为PDF。
IronPDF 的主要功能是什么?
IronPDF 提供诸如 PDF 图像、加密、转换、编辑,以及包括 Windows、Azure 和 Linux 在内的多平台兼容性等功能。它还通过 Visual Studio NuGet 包管理器提供简便的集成。
PSPDFKit 如何支持 PDF 功能?
PSPDFKit 支持广泛的 PDF 功能,包括编辑、OCR、水印和文档转换。它还提供丰富的注释功能和有效的文档合并与编辑。
我如何在.NET项目中安装IronPDF?
IronPDF 可以使用 Visual Studio NuGet 包管理器、Visual Studio 命令行安装,或直接从 NuGet Gallery 或 IronPDF 的官方网站下载。
IronPDF的许可选项是什么?
IronPDF 提供终身许可证,无需支付经常性费用。它包含免费的开发者许可证,以及独特的定价结构,提供 30 天退款保证、软件支持和一年更新服务。
IronPDF 和 PSPDFKit 的定价有什么不同?
IronPDF 提供终身许可证,无需支付经常性费用,而 PSPDFKit 提供按月和按年计算的套餐,有经常性开支。IronPDF 专注于基于用户数量和位置的以开发者为中心的许可,而 PSPDFKit 的许可以文件为中心,基于每月的文件处理量。
Iron Software 捆绑包中提供哪些附加工具?
Iron Software 提供五个工具的捆绑包,包括 IronBarcode、IronXL、IronOCR、IronPDF 和 IronWebscraper。这些工具为 .NET 应用程序提供全面的开发解决方案。






