产品比较

IronPDF与ExpertPDF for .NET的比较

发布 2023年三月12日
分享:

C# 开发人员在读取、写入、创建或在不同文件格式之间转换 PDF 时一直面临着挑战。 不过,随着众多库的出现,这些问题都得到了解决,而且这些库易于集成,使得它们在 C# 应用程序中更加流行和易于使用。

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

  • IronPDF
  • 专家PDF

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

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

IronPDF 图书馆

IronPDF 是一个全面的 .NET PDF 库解决方案,特别适合 C# 开发人员使用。 有了这个库,您就可以用 C# 轻松实现创建优秀 PDF 阅读器或 PDF 查看器所需的所有功能。

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

特点

创建 PDF 文件(HTML 转 PDF)

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

无需 Adobe Acrobat Reader 的 PDF 编辑器

  • 填写和读取 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 阅读器,就不必再使用复杂的报告生成软件了。

ExpertPDF 易于使用,但却是一款功能强大的 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: 解决方案资源管理器

    解决方案资源管理器

    A Comparison between IronPDF and ExpertPDF for .NET: Figure 6: 项目菜单 > 管理 NuGet 软件包

    项目菜单 > 管理 NuGet 软件包

    选择后,浏览 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 Library 有两种方法:

  • 为 .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: 解决方案资源管理器

    解决方案资源管理器

    A Comparison between IronPDF and ExpertPDF for .NET: Figure 9: 项目菜单 > 管理 NuGet 软件包

    项目菜单 > 管理 NuGet 软件包

    选择后,浏览 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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

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

ExpertPDF HTML To 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 时,还可以在 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的HTML-to-PDF转换器库是一款多功能工具,可以将网页和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.9 刚刚发布

免费NuGet下载 总下载量: 10,731,156 查看许可证 >