产品比较

IronPDF与NReco .NET Core的比较

发布 2022年十月1日
分享:

简介

PDF 文件在各行各业都被用于开具发票和生成文档。在生成文档时,开发人员使用 PDF 格式来满足客户的要求。有了现在市场上的库,创建 PDF 变得前所未有的简单。在项目中使用这类库时,我们必须对构建、阅读和转换等因素进行评估,以确定哪种库是市场上最好的。

在本文中,我们将比较.NET 组件中最流行的两个 PDF 库。这两个库是

  • IronPDF
  • NReco

IronPDF 和 NReco 是两个库,可用于在.NET 应用程序中创建、读取、更新和处理 PDF 文件,无论是桌面、网络还是移动应用程序。我们将首先比较这两个库的功能,然后再看看它们在转换和处理 PDF 文件方面的性能。微软的 .NET 框架支持这两个库。

接下来的问题是决定哪个 C# PDF 库最适合您的 .NET 项目。在阅读以下两个库的比较时,您可以权衡自己的决定。

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

IronPDF 功能

IronPDF .NET PDF 库解决方案是开发人员,尤其是 C# 软件工程师的梦想。有了这款出色的工具,您可以轻松创建.NET Core PDF 处理程序。

IronPDF 使用 .NET Chromium 引擎将 HTML 页面渲染为 PDF 文件。无需使用复杂的应用程序接口来渲染或操作 PDF。IronPDF 支持标准的网络技术:HTML、ASPX、JS、CSS 和图像。

它还能让你使用 HTML5、CSS、JavaScript 和图像创建 .NET PDF 库。您可以毫不费力地对 PDF 进行编辑、添加水印、添加页眉和页脚。此外,它还能轻松读取 PDF 文本和提取图像。

其中一些重要功能包括

创建 PDF (HTML 转 PDF)

  • 利用 HTML 4 和 5、CSS 和 JavaScript 创建 PDF 文档
  • 从 URL 生成 PDF 文档
  • 从 ASP.NET 应用程序生成 PDF (Razor, MVC 视图):
  • 使用自定义网络登录凭证、用户代理、代理、Cookie、HTTP 标头和表单变量加载 URL,允许在 HTML 表单后登录

无需 Adobe Acrobat 即可编辑现有 PDF 文档

  • 读取和填写表格字段数据
  • 从 PDF 中提取图像和文本
  • 在现有 PDF 页面中添加新的 HTML 内容
  • 添加逻辑或 HTML 页眉和页脚

操作现有 PDF 文档

  • 加载和解析现有 PDF 文档
  • 合并和分割 PDF 文档内容
  • 添加页眉、页脚、注释、书签、水印、文本和图像资产

从多种格式转换

  • ASPX WebForms - 只需三行代码即可将 ASP.NET 网络表格转换为可在浏览器中查看的可下载 PDF 文件
  • HTML 文档 - 将 HTML 转换为 PDF
  • 自定义 "基本 URL",允许在网络上访问资产文件
  • 通过虚拟视口实现响应式布局 (宽度和高度)
  • 接受以任何主要文件编码方式编码的 HTML (默认为 UTF-8)

保存并打印

  • 保存和加载文件、二进制数据或内存流
  • 支持基于屏幕和打印的 CSS 媒体类型
  • 将 PDF 文件转化为 PrintDocument 对象,无需 Adobe 即可打印 (代码最少)
  • 在源代码中导出官方日志文件,其中包含有关 API 成功和调试错误的详细信息。

NReco

NReco 为 .NET 和 .NET Core 提供了一个用于 HTML 到 PDF 转换的库。它可以从 HTML 模板或网页 URL 生成 PDF 文档。

在大多数情况下 (99% 的时间)通过 NReco 生成的 PDF 与网页浏览器中显示的网页非常相似。该引擎支持页眉/页脚、页码、自定义字体和 JavaScript 执行。

NReco 库基于 WkHtmlToPdf 命令行工具,该工具使用 WebKit 引擎将 HTML 内容渲染为 PDF。该库使用 wkhtmltoPdf 二进制文件 (win-x86) 在执行过程中。无需手动安装。为了方便起见,NReco 库会在运行时自动提取并执行 wkHtmlToPdf 二进制文件。

  • 部分核心功能包括

    • 从 HTML 字符串、文件或 URL 创建 PDF

    • 将 ASPX 页面和 MVC 视图转换为 PDF
  • 将多个 HTML 页面合并为一个生成的 PDF
  • PDF 选项

    • 页面方向、自定义页面大小、页边距

    • 页眉/页脚、页码、封面等 HTML 模板

    • 根据网页标题自动生成目录 (H1/H2/H3)

在 Visual Studio 中创建新项目:

我们将在 Visual Studio 中创建一个新项目,演示这两个库如何生成 PDF。

打开 Visual Studio。点击创建新项目 => 选择模板 (控制台应用程序) => 单击 "下一步" => 命名项目 => 选择 .NET 框架版本 => 单击 "创建 "按钮。

比较 IronPDF 和 NReco,图 1:新 Visual Studio C# 控制台应用程序

将创建一个新项目。

让我们逐一安装这两个库。

IronPDF C# 库安装

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

1.使用 Visual Studio NuGet 软件包管理器。

2.使用软件包管理器控制台

3.直接从 NuGet 网页.

4.下载 IronPDF .DLL 库。 IronPDF 网页.

让我们逐一进行详细了解。

使用 NuGet 软件包管理器安装:

按照以下步骤从 NuGet 软件包管理器下载 IronPDF。

从菜单栏中,单击工具 > NuGet 包管理器 > 管理解决方案的 NuGet 包

将出现一个新窗口。点击浏览 => 搜索 IronPDF=> 点击安装按钮,如下图所示。

比较 IronPDF 和 NReco,图 2:使用 NuGet 软件包管理器图形用户界面安装 IronPDF

这将在我们的项目中安装 IronPDF 库。

使用软件包管理器控制台

在 Visual Studio 中,转到 工具 > NuGet 包管理器 > 包管理器控制台

在软件包管理器控制台选项卡中输入以下一行:

Install-Package IronPdf

直接从 NuGet 网站下载

第三种方法是直接从网站下载 NuGet 软件包。

  • 导航至 链接
  • 从右侧菜单中选择下载软件包选项
  • 双击下载的软件包。软件包将自动安装
  • 现在重新加载解决方案并开始在项目中使用。

直接从 IronPDF 网站下载

点击此处 链接 直接从网站下载最新软件包。下载后,按照以下步骤将软件包添加到项目中。

  • 在解决方案窗口中右键单击项目。
  • 选择 "选项参考",然后导航到下载参考的位置。

然后单击 "确定 "添加参考文献。

安装 NReco 库

可通过以下四种方式之一下载 NReco 库。

  • 使用 Visual Studio NuGet 包管理器解决方案
  • 使用软件包管理器控制台
  • 直接从 NuGet 网站.
  • 直接从 NReco 网站下载。

使用 Visual Studio

如上所述,只需进入 NuGet 软件包管理器,搜索关键字 "NReco "即可。

使用 Visual Studio 命令行

在 Visual Studio 中,转到 工具 > NuGet 包管理器 > 包管理器控制台

在软件包管理器控制台选项卡中输入以下一行:

Install-Package NReco.PdfGenerator -Version 1.2.0

直接从 NuGet 网站下载

第三种方法是直接从网站下载 NuGet 软件包。

  • 导航至链接 "https://www.nuget.org/packages/nreco/"
  • 点击右侧菜单中的 "下载软件包 "选项。
  • 双击下载的软件包。软件包将自动安装。
  • 重新加载解决方案并开始在项目中使用。

直接从 NReco 网站下载

点击此处 链接 查看可用 DLL 列表。下载各种 .NET 框架的最新软件包 下载后,按照以下步骤将软件包添加到项目中。

  • 在解决方案窗口中右键单击项目。
  • 选择 "选项 "引用并导航到下载软件包的位置。
  • 单击 "确定 "添加引用。

让我们探索一下这两个库的功能。

生成 PDF 文件

这两个库都支持生成 PDF 文档,但它们的方式不同。

使用 IronPDF 从 URL 生成 PDF

ChromePdfRenderer chromePdfRenderer = new ChromePdfRenderer();
var file = chromePdfRenderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
file.SaveAs(@"D:\urlToPdfIronPDF.pdf");
ChromePdfRenderer chromePdfRenderer = new ChromePdfRenderer();
var file = chromePdfRenderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
file.SaveAs(@"D:\urlToPdfIronPDF.pdf");
Dim chromePdfRenderer As New ChromePdfRenderer()
Dim file = chromePdfRenderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
file.SaveAs("D:\urlToPdfIronPDF.pdf")
VB   C#

上述代码将从提供的 URL 生成 PDF。源代码输出如下。

比较 IronPDF 和 NReco,图 3:使用 IronPDF 从 URL 生成 PDF

使用 NReco 从 URL 生成 PDF

var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter(); htmlToPdf.GeneratePdfFromFile("https://en.wikipedia.org/wiki/PDF", null, @"D:\urlToPDFNreco.pdf");
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter(); htmlToPdf.GeneratePdfFromFile("https://en.wikipedia.org/wiki/PDF", null, @"D:\urlToPDFNreco.pdf");
Dim htmlToPdf = New NReco.PdfGenerator.HtmlToPdfConverter()
htmlToPdf.GeneratePdfFromFile("https://en.wikipedia.org/wiki/PDF", Nothing, "D:\urlToPDFNreco.pdf")
VB   C#

使用 NReco 从 URL 生成 PDF 需要使用另一个库: NReco.PDFGenerator.LT 此外,PDF 生成需要商业许可证。如果没有商业许可证,上述代码将出现下图所示的异常:

比较 IronPDF 和 NReco,图 4:NReco's URL-to-PDF generation feature requires ownership of a commercial license

使用 IronPDF 从 HTML 字符串生成 PDF:

string htmlstring = "<h1> This is sample pdf generated by IronPDF</h1>";
ChromePdfRenderer chromePdfRenderer = new ChromePdfRenderer();
var file = chromePdfRenderer.RenderHtmlAsPdf(htmlstring);
file.SaveAs(@"D:\HTMLToPdfIronPDF.pdf");
string htmlstring = "<h1> This is sample pdf generated by IronPDF</h1>";
ChromePdfRenderer chromePdfRenderer = new ChromePdfRenderer();
var file = chromePdfRenderer.RenderHtmlAsPdf(htmlstring);
file.SaveAs(@"D:\HTMLToPdfIronPDF.pdf");
Dim htmlstring As String = "<h1> This is sample pdf generated by IronPDF</h1>"
Dim chromePdfRenderer As New ChromePdfRenderer()
Dim file = chromePdfRenderer.RenderHtmlAsPdf(htmlstring)
file.SaveAs("D:\HTMLToPdfIronPDF.pdf")
VB   C#

输出结果见下文:

比较 IronPDF 和 NReco,图 5:IronPDF 的结果's HTML-to-PDF Generation Feature

使用 NReco 从 HTML 模板生成 PDF:

string htmlstring = "<h1> This is sample pdf generated by NReco</h1>";
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
htmlToPdf.GeneratePdf(htmlstring,null, @"D:\HTMLToPdfIronPDF.pdf");
string htmlstring = "<h1> This is sample pdf generated by NReco</h1>";
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
htmlToPdf.GeneratePdf(htmlstring,null, @"D:\HTMLToPdfIronPDF.pdf");
Dim htmlstring As String = "<h1> This is sample pdf generated by NReco</h1>"
Dim htmlToPdf = New NReco.PdfGenerator.HtmlToPdfConverter()
htmlToPdf.GeneratePdf(htmlstring,Nothing, "D:\HTMLToPdfIronPDF.pdf")
VB   C#

上面的源代码使用 NReco C# WkHtmlToPdf 封装器生成 PDF。因此,运行上述代码会出现异常:"此功能需要商业许可证"。

比较 IronPDF 和 NReco,图 6:使用 NReco 从 HTML 内容生成 PDF 还需要商业许可

阅读 PDF 文件

使用 IronPDF 从 PDF 中提取文本:

以下示例代码演示了 PDF 文本提取功能。

var pdfFile = @"D:\SamplePDF.pdf";
PdfDocument pdfDocument = PdfDocument.FromFile(pdfFile);
string ConvertedText = pdfDocument.ExtractAllText();
Console.WriteLine(ConvertedText);
var pdfFile = @"D:\SamplePDF.pdf";
PdfDocument pdfDocument = PdfDocument.FromFile(pdfFile);
string ConvertedText = pdfDocument.ExtractAllText();
Console.WriteLine(ConvertedText);
Dim pdfFile = "D:\SamplePDF.pdf"
Dim pdfDocument As PdfDocument = PdfDocument.FromFile(pdfFile)
Dim ConvertedText As String = pdfDocument.ExtractAllText()
Console.WriteLine(ConvertedText)
VB   C#

生成的输出如下所示:

比较 IronPDF 和 NReco,图 7:IronPDF PDF 文本提取

使用 NReco 从 PDF 中提取文本:

我们需要添加一个额外的库,Nreco.PdfRenderer,以提取文本。

 var pdfFile = @"D:\SamplePDF.pdf";
var pdfToText = new NReco.PdfRenderer.PdfToTextConverter();
string generatedText = pdfToText.GenerateText(pdfFile);
Console.WriteLine(generatedText);
 var pdfFile = @"D:\SamplePDF.pdf";
var pdfToText = new NReco.PdfRenderer.PdfToTextConverter();
string generatedText = pdfToText.GenerateText(pdfFile);
Console.WriteLine(generatedText);
Dim pdfFile = "D:\SamplePDF.pdf"
Dim pdfToText = New NReco.PdfRenderer.PdfToTextConverter()
Dim generatedText As String = pdfToText.GenerateText(pdfFile)
Console.WriteLine(generatedText)
VB   C#

输出结果如下:

比较 IronPDF 和 NReco,图 8:NReco PDF 文本提取结果

NReco 生成的输出是正确的,但其中包含了一个不应该出现的额外符号。

比较

我们已经讨论了两个库提供的核心功能。现在,让我们对它们进行比较。

NReco 在许多不同的用例中使用 C# wkHtmlToPdf 工具。我们不需要单独安装 wkHtmltoPdf,但确实需要安装单独的 NuGet 包来创建和读取 PDF 文档。 因此,这增加了管理项目库依赖关系的复杂性。另一方面,IronPDF 只需要一次性安装。IronPDF 的全套功能不需要额外的库。

无论是从 URls 还是从原始 HTML 字符串,IronPDF 都能准确地将 HTML 内容渲染为 PDF。如果未事先获得商业许可,则无法在 NReco 中使用这些相同的功能。

这两个库都能很好地从 PDF 文件中提取文本,但 NReco 在其输出中包含了一个额外的、不必要的符号。

比较 IronPDF 和 NReco,图 9:NREco 与 IronPDF(并排比较)

许可

NReco 是一种从 HTML 文档创建 PDF 文件的网络服务。它有多种价格结构,最低价格为 75 美元/月。您也可以注册免费试用,但免费试用的功能有限。详细价格可在此处查看 NReco 页面.

IronPDF 是一个 C# PDF 库。它可免费用于开发,也可随时授权用于商业部署。 提供许可证 该软件可用于单个项目、个人开发者、代理机构和跨国公司,也可用于 SAAS 和 OEM 再分发。所有许可证都包括 30 天退款保证、一年的产品支持和更新、开发/分期/生产的有效性以及永久许可证。 (一次性购买).精简版软件包的起价为 $749。

摘要

IronPDF 不会从远程服务器将 HTML 转换为 PDF。相反,它会在后台启动一个真正的、符合标准的网络浏览器实例 (无需手动安装其他软件).HTML 的渲染是完全准确的,而且是矢量格式,适合最高标准的商业印刷。输出结果是干净、高质量的 PDF。它是公开的商业软件,许可和定价详情均在网站上公布。

NReco 还能将 HTML 转换为 PDF,并在多个地点的云服务器上运行。NReco 为 .NET 和 .NET Core 提供库,可实现最快、最准确的 HTML 到 PDF 转换。NReco 可从 HTML 内容生成 PDF 文件 (源代码、模板文件或 URL) 通过 HTML 模板或网页 URL。网页使用 Qt WebKit 引擎渲染,其输出结果与网页浏览器的渲染结果几乎相同。

结论

经过综合比较,可以看出 IronPDF 与 NReco 相比优势明显。IronPDF 可以全面满足多种 PDF 处理需求。购买 IronPDF 后,您将在一个库中获得所有转换功能。它支持标准网络文档:HTML、ASPX、JS、CSS 和图像。

NReco 是一种从 HTML 格式创建 PDF 文件的网络服务。它有多种价格结构,最低价格为 75 美元/月。另一方面,IronPDF 可免费用于开发,也可随时授权用于商业部署。 提供许可证 适用于单个项目、单个开发人员、机构和跨国公司。所有许可证均包含 30 天退款保证以及一年的产品支持和更新。精简版软件包的起价为 $749。IronPDF 软件包是永久性的,没有持续性费用。

如果您购买完整的 IronSuite,您将有资格以购买两套产品的价格获得全部五套产品。更多详情,请点击 这里.

最后,我们选择 IronPDF 是因为它的高性能和强大的功能集。IronPDF 还提供良好的支持和文档,确保用户能够充分有效地利用所提供的一系列令人印象深刻的功能。

< 前一页
IronPDF与Innovasys Document! X的比较
下一步 >
IronPDF与PDFShift的对比

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

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