产品比较

IronPDF与NReco .NET Core的比较

发布 2022年十月1日
分享:

介绍

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

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

  • IronPDF
  • NReco

    IronPDF 和 NReco 是两个库,可用于在您的 .NET 应用程序中创建、阅读、更新和操作 PDF 文件,无论是桌面应用程序、Web应用程序还是移动应用程序。 我们首先将比较两个库的功能,然后我们将研究它们在转换和操作PDF文件方面的性能。 微软的 .NET Framework 支持这两种库。

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

    首先让我们看看这两个库都能提供什么,然后再进行比较。

IronPDF 功能

IronPDF .NET PDF库解决方案是开发者的梦想,特别是C#软件工程师。 您可以使用这个优秀的工具轻松创建一个.NET Core PDF处理应用程序。

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

它还能让您使用 HTML5、CSS、JavaScript 和图像创建 .NET PDF 库。 您可以轻松地编辑PDF、添加水印以及添加页眉和页脚。 此外,它能非常容易地读取PDF文本和提取图片。

其中一些重要功能包括

创建 PDFs (HTML 转 PDF)

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

编辑现有PDF文档,无需Adobe Acrobat

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

操作现有的PDF文档

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

从多种格式转换

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

保存和打印

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

NReco

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

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

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

  • 一些核心功能包括:
    • 从 HTML 字符串、文件或 URL 创建 PDF
    • 将 ASPX 页面和 MVC 视图转换为 PDFs
    • 将多个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 包直接从 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网站直接下载

点击此处 链接 查看可用 DLLs 的列表。 下载适用于各种 .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 文本提取

从PDFs中提取文本使用NReco:

我们需要再添加一个额外的库,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的全部功能不需要额外的库。

IronPDF能够准确地将HTML内容从URL和原始HTML字符串渲染成PDF文件。 这些功能在未先获取商业许可的情况下,不能在NReco中使用。

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

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

许可

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

IronPDF是一个C# PDF库。 它可免费用于开发,也可随时授权用于商业部署。 提供许可证 适用于单个项目使用,个体开发者,代理机构和全球公司,以及SAAS和OEM重新分配。 所有许可证均包含 30 天退款保证、一年的产品支持和更新、开发/分期/生产有效期以及永久许可证。 (一次性购买). Lite套餐的价格从$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.9 刚刚发布

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