产品比较

IronPDF与ExpertPDF for .NET的比较

发布 2023年三月12日
分享:

C# 开发人员在读取、编写、创建或在不同文件格式之间转换 PDF 时一直面临挑战。不过,随着大量库的出现,这些问题已经迎刃而解,而且这些库的轻松集成使其在 C# 应用程序中更加流行和易于使用。

本文旨在比较 .NET Framework 和 .NET Core 开发人员最常用的两个 PDF 库:

  • IronPDF
  • ExpertPDF

这两个库都是 .NET C# 库,提供在 .NET 和 .NET Core 中生成、转换和编辑 PDF 的方法。主要的问题是决定哪一个 C# PDF 库最适合我们的项目。在本文中,我们将对这两个库进行最全面的比较,重点介绍它们的突出功能,以便您在为项目选择合适的库时做出明智的决定。

首先,让我们看看这两个库都提供了哪些功能,然后再进行比较。

The IronPDF Library

IronPDF 是一款全面的 .NET PDF 库解决方案,尤其适合 C# 开发人员使用。使用该库,您可以轻松实现所有必要的功能,从而在 C# 中创建出色的 PDF 阅读器或 PDF 查看器。

IronPDF 拥有一个.NET Chromium 引擎,可将 HTML 内容渲染为 PDF 文档,无需复杂的 API,即可轻松设计或定位 PDF。它的 HTML 到 PDF 转换器可以使用 HTML5、CSS、JavaScript 和图像创建 .NET PDF 库。此外,它还能让你轻松编辑 PDF、添加页眉和页脚以及从 PDF 中提取图像。此外,它还能让阅读 PDF 文本变得简单明了。

特点

创建 PDF 文件 (HTML 转 PDF)

  • 利用 HTML、CSS 和 JavaScript 创建 PDF 文件
  • 从网站 URL 生成 PDF 文档
  • 使用自定义登录凭证加载网页 URL

PDF 编辑器,无需 Adobe Acrobat 阅读器

  • 填写和阅读 PDF 格式的完全可编辑表单数据字段
  • 从 PDF 中提取文本和图像
  • 在任何现有页面上标记 HTML 内容
  • 添加 HTML 页眉和页脚
  • 添加注释并对 PDF 文档进行数字签名

操作 PDF 文档

  • 加载和解析现有文档
  • 合并和拆分文档内容
  • 添加水印、文本和资产

从多种文件格式进行转换

  • 只需三行代码即可转换 ASPX WebForms
  • 将 HTML 转换为 PDF 文件
  • 图像 (png、jpg、gif、tiff) 至 PDF

保存和打印

  • 以二进制数据或内存流保存文件
  • 打印 CSS 媒体类型
  • 将 PDF 文件转化为打印文档对象,无需 Adobe 即可打印

PDF 专家

专家PDF 也是一个.NET 库,它为开发人员提供了将 HTML 快速转换为 PDF 的功能。如果您需要生成 PDF 报告或制作 PDF 阅读器,您不必再使用复杂的报告生成软件了。

PDF专家易于使用,但它又是一个功能强大的PDF编辑器。它包含一个高级 HTML 至 PDF 转换器,可在几分钟内将其应用到任何 .NET 应用程序中。它适用于 .NET Framework、.NET Core、.NET 5 和 .NET 6。

它是一个功能强大的 .NET 库,可帮助您在 .NET Framework 或 .NET Core 应用程序中从任何网页 URL 或原始 HTML 标记、字符串或文件创建 PDF 查看器和文档。

突出特点

以下是重要功能:

  • 将 URL 网页转换为 PDF
  • 将 HTML 字符串转换为 PDF
  • 多种输出文件选项
  • 设置页边距和尺寸
  • 设置页眉和页脚
  • 添加自动和自定义分页符
  • 仅将网页的特定部分转换为 PDF
  • 在转换为 PDF 时隐藏页面中的特定元素
  • 将多个网页合并为一个 PDF 文件
  • 将需要验证的网页转换为 PDF
  • 选择 CSS 媒体 (屏幕或打印) 渲染类型
  • 支持书签
  • 支持数字签名
  • 检索 PDF 中 HTML 元素的位置
  • 支持最新的 HTML5/CSS3
  • 支持网络字体,如开放式字体和真字体
  • 文件类型转换:

    • PDF 到文本转换器

    • HTML 至 PDF 转换器

    • HTML 图像转换器

    • PDF 至图像转换器

    • RTF 至 PDF 转换器

本文其余部分将涉及以下主题:

1.创建控制台项目

2.安装 IronPDF

3.ExpertPDF 安装

4.从 URL 创建 PDF

5.从 HTML 输入字符串创建 PDF

6.将多个 PDF 合并为一个 PDF

7.将图像转换为 PDF

8.许可和定价

9.结论

1.创建控制台项目

请按照以下步骤使用 visual studio 2022 用 C# 创建控制台应用程序:

  • 打开 Visual Studio 2022,点击创建新项目
IronPDF 和 ExpertPDF for .NET 的比较:图 1:Visual Studio

Visual Studio 2022

  • 选择 C# 控制台应用程序,然后单击下一步
A Comparison between IronPDF and ExpertPDF for .NET: Figure 2: 新建项目对话框

新建项目对话框

  • 在下一个屏幕中,键入项目名称,然后点击下一步
A Comparison between IronPDF and ExpertPDF for .NET: Figure 3: 网络表格

网络表格

  • 为您的应用程序选择 .NET Framework。我们将使用最新的 6.0 版本。
A Comparison between IronPDF and ExpertPDF for .NET: Figure 4: 其他信息

其他信息

现在我们的控制台项目已经创建,可以测试我们的库了。不过,我们仍然需要将它们安装到我们的项目中。首先安装 IronPDF。

2.安装 IronPDF

下载和安装 IronPDF 库有多种方法。具体如下

1.使用 Visual Studio

2.直接下载 NuGet 软件包

3.下载 IronPDF .DLL 库

2.1.使用 Visual Studio

Visual Studio 本身提供了 NuGet 包管理器,用于在 C# 项目中安装所有 NuGet 包。您可以通过

  • 项目菜单工具,或
  • 右键单击解决方案资源管理器中的项目
A Comparison between IronPDF and ExpertPDF for .NET: Figure 5: 解决方案资源管理器

解决方案资源管理器

<div class="content-img-align-center">
    <div class="center-image-wrapper">
        <img src="/static-assets/pdf/blog/expert-pdf-net-library-alternatives/expert-pdf-net-library-alternatives-6.webp" alt="A Comparison between IronPDF and ExpertPDF for .NET: Figure 6: 项目菜单 &gt; 管理 NuGet 软件包" class="img-responsive add-shadow">
    </div>
    <p class="content__image-caption">项目菜单 &gt; 管理 NuGet 软件包</p>
</div>

选择后,浏览 IronPDF NuGet 软件包并安装,如下图所示:

A Comparison between IronPDF and ExpertPDF for .NET: Figure 7: 从 NuGet 软件包安装 IronPDF

从 NuGet 软件包安装 IronPDF

2.2.直接下载 NuGet 软件包

另一种方法是从 NuGet 网站下载 IronPDF。直接访问 NuGet 并下载软件包。按照以下步骤操作

2.4.安装 IronPDF:下载库

您也可以直接从 IronPDF 网站下载 IronPDF .DLL 文件。点击IronPDF DLL 下载 安装。

接下来,按照以下步骤在项目中引用 IronPDF:

  • 在 "解决方案资源管理器 "中右击解决方案
  • 选择 "引用 "选项
  • 浏览 IronPDF.dll 库
  • 单击 "确定",完成!

全部完成! 现在 IronPDF 已经安装完毕,随时可以使用。不过,在此之前,我们先安装 ExpertPDF 进行比较。

3.安装 ExpertPDF

下载和安装 ExpertPDF 库有两种方法:

  • 使用适用于 .NET Framework、.NET Core、.NET 5、.NET 6 的 Visual Studio NuGet 包管理器
  • 下载程序集 (旧版本的 .NET Framework)

我们将使用新的 .NET Framework,因此我们将使用 NuGet 软件包管理器安装 ExpertPDF。

3.1.使用 Visual Studio NuGet 包管理器

与 IronPDF 一样,您可以通过以下方式访问 NuGet 包管理器:

  • 项目菜单 工具
  • 右键单击解决方案资源管理器中的项目
A Comparison between IronPDF and ExpertPDF for .NET: Figure 8: 解决方案资源管理器

解决方案资源管理器

<div class="content-img-align-center">
    <div class="center-image-wrapper">
        <img src="/static-assets/pdf/blog/expert-pdf-net-library-alternatives/expert-pdf-net-library-alternatives-9.webp" alt="A Comparison between IronPDF and ExpertPDF for .NET: Figure 9: 项目菜单 &gt; 管理 NuGet 软件包" class="img-responsive add-shadow">
    </div>
    <p class="content__image-caption">项目菜单 &gt; 管理 NuGet 软件包</p>
</div>

选择后,浏览 ExpertPDF NuGet 软件包并安装,如下图所示:

A Comparison between IronPDF and ExpertPDF for .NET: Figure 10:  ExpertPDF 软件包

ExpertPDF 软件包

注: ExpertPDF 仅支持 Windows 操作系统。

4.从 URL 创建 PDF

这两个库都能将 HTML 标记转换为 PDF。现在,让我们逐一看看每个库的 C# 代码。

4.1.使用 IronPDF 将 URL 转换为 PDF

IronPDF 在将现有 URL 中的 HTML 转换为 PDF 时非常简单。它对 CSS、JavaScript、图像和表单的支持程度非常高。

以下代码示例可直接从网站 URL 创建 PDF。

using IronPdf;

ChromePdfRenderer Renderer = new ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
 
Pdf.SaveAs("url.pdf");
using IronPdf;

ChromePdfRenderer Renderer = new ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
 
Pdf.SaveAs("url.pdf");
Imports IronPdf

Private Renderer As New ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
'
Pdf.SaveAs("url.pdf")
VB   C#
IronPDF 和 ExpertPDF for .NET 的比较:图 11:URL 到 PDF 输出

使用 IronPDF 将 URL 转换为 PDF

4.2.使用 ExpertPDF 将 URL 转换为 PDF

ExpertPDF使用 "savePdfFromUrlToFile "方法将URL转换为PDF,该方法快速、安全、高效。页面的格式保存为实际网络浏览器上的格式。

using ExpertPdf.HtmlToPdf;

PdfConverter pd = new PdfConverter();
pd.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf");
using ExpertPdf.HtmlToPdf;

PdfConverter pd = new PdfConverter();
pd.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf");
Imports ExpertPdf.HtmlToPdf

Private pd As New PdfConverter()
pd.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf")
VB   C#
A Comparison between IronPDF and ExpertPDF for .NET: Figure 12:  使用 ExpertPDF 将 URL 转换为 PDF Output

使用 ExpertPDF 将 URL 转换为 PDF

5.从 HTML 输入字符串创建 PDF

IronPDF 和 Expert PDF 都能通过包含 HTML 的标记字符串创建 PDF。

5.1.使用 IronPDF 输入 HTML 字符串

以下代码片段演示了如何使用 HTML 输入字符串渲染 PDF 文档图像。

using IronPdf;

var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");

// Load external html assets: images, css and javascript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
var PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
PDF.SaveAs("html-with-assets.pdf");
using IronPdf;

var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");

// Load external html assets: images, css and javascript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
var PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
PDF.SaveAs("html-with-assets.pdf");
Imports IronPdf

Private Renderer = New ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf")

' Load external html assets: images, css and javascript.
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
Dim PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
PDF.SaveAs("html-with-assets.pdf")
VB   C#

5.2.使用专家 PDF 输入 HTML 字符串

ExpertPDF HTML 至 PDF 转换器支持从 HTML 字符串到 PDF 的转换。代码简单明了,无需解释即可将 URL 转换为 PDF:

using ExpertPdf.HtmlToPdf;

PdfConverter pd = new PdfConverter();

pd.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf");
using ExpertPdf.HtmlToPdf;

PdfConverter pd = new PdfConverter();

pd.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf");
Imports ExpertPdf.HtmlToPdf

Private pd As New PdfConverter()

pd.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf")
VB   C#

第一个参数是实际的 HTML 字符串,第二个参数是保存扫描文档的文件名。

6.将多个 PDF 文件合并为一个 PDF 文件

IronPDF 和 ExpertPDF 都提供将多个 PDF 文件合并为一个 PDF 文件的功能。该功能对于整合分散的数据并更高效地通过互联网发送非常有用。

6.1.使用 IronPDF 进行合并

以下代码将渲染由不同 HTML 字符串创建的两个 PDF,然后使用 Merge 方法将其合并。这一行代码非常容易使用。在渲染时,还可以在 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 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>";

var renderer = new ChromePdfRenderer();

var pdfdoc_a = renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = renderer.RenderHtmlAsPdf(html_b);
var merged = 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 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>";

var renderer = new ChromePdfRenderer();

var pdfdoc_a = renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = renderer.RenderHtmlAsPdf(html_b);
var merged = 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 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>"

Private renderer = New ChromePdfRenderer()

Private pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
Private pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)
Private merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b)

merged.SaveAs("Merged.pdf")
VB   C#

合并 "方法也有一个重载,可接受以 Enumerable 对象形式存在的多个文档。您可以在下面的示例中看到其使用方法 代码示例.

请注意,如果合并的 PDF 文件包含可编辑的表单,生成的 PDF 表单字段的名称将附加索引号。

6.2.使用 ExpertPDF 进行合并

ExpertPDF 使用合并 PDF 组件来完成这项任务。要使用该组件,必须从 NuGet 软件包管理器中安装。其中的 "AppendPDFFile "方法可将 PDF 文件附加到 PDFMerge 类对象中。合并之前由 ExpertPDF 创建的两个 PDF 文件的代码如下:

using ExpertPdf.MergePdf;

PDFMerge pDF = new PDFMerge();
pDF.AppendPDFFile("output.pdf");
pDF.AppendPDFFile("html-to-pdf.pdf");
pDF.SaveMergedPDFToFile("merged.pdf");
using ExpertPdf.MergePdf;

PDFMerge pDF = new PDFMerge();
pDF.AppendPDFFile("output.pdf");
pDF.AppendPDFFile("html-to-pdf.pdf");
pDF.SaveMergedPDFToFile("merged.pdf");
Imports ExpertPdf.MergePdf

Private pDF As New PDFMerge()
pDF.AppendPDFFile("output.pdf")
pDF.AppendPDFFile("html-to-pdf.pdf")
pDF.SaveMergedPDFToFile("merged.pdf")
VB   C#

7.将图像转换为 PDF

IronPDF 能够将各种图像转换为 PDF 文件,而 ExpertPDF 则不提供此功能。不过,ExpertPDF 可以从 PDF 文件中提取图像,还可以将 PDF 文件转换为图像,而 IronPDF 也提供了这一功能。

7.1.使用 IronPDF 将图像转换为 PDF

在 IronPDF 中,使用 "ImageToPdfConverter "类可以轻松地从一个或多个图像创建 PDF 文档。您可以从应用程序中的任意文件夹加载图片。

// One or more images as IEnumerable.  This example selects all JPEG images in a specific folder.
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg") 
 f.EndsWith(".jpeg"));
 
// Convert the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\composite.pdf");
 
//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
// One or more images as IEnumerable.  This example selects all JPEG images in a specific folder.
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg") 
 f.EndsWith(".jpeg"));
 
// Convert the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\composite.pdf");
 
//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

除了能将各种图像转换为 PDF 文件外,IronPDF 还能将扫描文档、纸质文档和商业文档转换为单独的图像。它还能从这些类型的文件中提取图像。

8.许可和定价

IronPDF是一款完全开放的商业软件。 C# PDF 库.它可免费用于私人开发,也可随时授权用于商业用途。各种 提供许可证适用于单个项目、单个或多个开发人员、机构和跨国公司。它还支持 SaaS 和 OEM 再分发。

IronPDF 和 ExpertPDF for .NET 的比较:图 13:IronPDF 许可证

IronPDF 许可选项

所有许可证均提供 30 天退款保证,以及一年的支持和产品更新。许可证是永久性的,这意味着只需一次性购买,无需支付额外费用。针对单个开发人员和单个项目的精简版软件包起价为 $749。

ExpertPDF 为每位开发人员或每家公司提供购买许可证的服务。您可以 免费试用 ExpertPDF.您可以从下图中查看许可证功能列表。

IronPDF 和 ExpertPDF for .NET 的比较:图 14:ExpertPDF 许可证

ExpertPDF 许可选项

ExpertComponents Toolkit Total 开发人员许可证的起价为 850 美元,ExpertPDF Toolkit 的起价为 750 美元。您也可以购买单个组件。购买 全部定价清单 可在网站上查阅。

9.结论

IronPDF 可在本地将 HTML 转换为 PDF,因此无需互联网连接。实际上,它隐含了一个真正符合标准的网络浏览器对象。HTML 渲染是完全准确的矢量格式,适合最高标准的商业印刷。输出干净整洁,并生成高质量的 PDF 文件。它可以授权用于商业用途,所有价格都在网站上列出,没有任何隐藏费用。

ExpertPDF's HTML-to-PDF Converter Library 是一款多功能工具,它可以将网页和 HTML 代码转换为 PDF 文档,从 ASP.NET 网页生成 PDF 报告,甚至可以使用电子签名签署合同。它可以免费使用,但也可以通过授权获得更多功能。

虽然这两个库都能处理 PDF 文件并转换常用格式,但 IronPDF 比 ExpertPDF 更有优势。IronPDF 提供更广泛的格式转换,包括 XML、图像和 AngularJS,以及更强大的生成、格式化和编辑 PDF 的功能。IronPDF 是一种省时的解决方案,推荐给追求高效的务实开发人员使用。

ExpertPDF 包含单独的组件,必须单独安装,而 IronPDF 是一款完整的软件,所有功能都集中在一处。对于只需要单一组件的项目,如 HTML 到 PDF 的转换,ExpertPDF 可能是一个不错的选择。IronPDF 的软件包提供终身许可,无需持续费用,而 ExpertPDF 则需要续费。

< 前一页
使用 Itextsharp 添加数字签名到 PDF 在 C# 中
下一步 >
带有 IronPDF 的产品比较

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

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