在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
PDF 文件在各行各业都被用于开具发票和生成文档。在生成文档时,开发人员使用 PDF 格式来满足客户的要求。有了现在市场上的库,创建 PDF 变得前所未有的简单。在项目中使用这类库时,我们必须对构建、阅读和转换等因素进行评估,以确定哪种库是市场上最好的。
在本文中,我们将比较.NET 组件中最流行的两个 PDF 库。这两个库是
IronPDF 和 NReco 是两个库,可用于在.NET 应用程序中创建、读取、更新和处理 PDF 文件,无论是桌面、网络还是移动应用程序。我们将首先比较这两个库的功能,然后再看看它们在转换和处理 PDF 文件方面的性能。微软的 .NET 框架支持这两个库。
接下来的问题是决定哪个 C# PDF 库最适合您的 .NET 项目。在阅读以下两个库的比较时,您可以权衡自己的决定。
让我们先看看这两个库都有哪些功能,然后再进行比较。
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 文本和提取图像。
其中一些重要功能包括
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
PDF 选项
页面方向、自定义页面大小、页边距
页眉/页脚、页码、封面等 HTML 模板
我们将在 Visual Studio 中创建一个新项目,演示这两个库如何生成 PDF。
打开 Visual Studio。点击创建新项目 => 选择模板 (控制台应用程序) => 单击 "下一步" => 命名项目 => 选择 .NET 框架版本 => 单击 "创建 "按钮。
将创建一个新项目。
让我们逐一安装这两个库。
下载和安装 IronPDF 库有四种方法。具体如下
1.使用 Visual Studio NuGet 软件包管理器。
2.使用软件包管理器控制台
3.直接从 NuGet 网页.
4.下载 IronPDF .DLL 库。 IronPDF 网页.
让我们逐一进行详细了解。
按照以下步骤从 NuGet 软件包管理器下载 IronPDF。
从菜单栏中,单击工具 > NuGet 包管理器 > 管理解决方案的 NuGet 包。
将出现一个新窗口。点击浏览 => 搜索 IronPDF=> 点击安装按钮,如下图所示。
这将在我们的项目中安装 IronPDF 库。
在 Visual Studio 中,转到 工具 > NuGet 包管理器 > 包管理器控制台
在软件包管理器控制台选项卡中输入以下一行:
Install-Package IronPdf
第三种方法是直接从网站下载 NuGet 软件包。
点击此处 链接 直接从网站下载最新软件包。下载后,按照以下步骤将软件包添加到项目中。
然后单击 "确定 "添加参考文献。
可通过以下四种方式之一下载 NReco 库。
如上所述,只需进入 NuGet 软件包管理器,搜索关键字 "NReco "即可。
在 Visual Studio 中,转到 工具 > NuGet 包管理器 > 包管理器控制台
在软件包管理器控制台选项卡中输入以下一行:
Install-Package NReco.PdfGenerator -Version 1.2.0
第三种方法是直接从网站下载 NuGet 软件包。
点击此处 链接 查看可用 DLL 列表。下载各种 .NET 框架的最新软件包 下载后,按照以下步骤将软件包添加到项目中。
让我们探索一下这两个库的功能。
这两个库都支持生成 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")
上述代码将从提供的 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")
使用 NReco 从 URL 生成 PDF 需要使用另一个库: NReco.PDFGenerator.LT 此外,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")
输出结果见下文:
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")
上面的源代码使用 NReco C# WkHtmlToPdf 封装器生成 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)
生成的输出如下所示:
我们需要添加一个额外的库,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)
输出结果如下:
NReco 生成的输出是正确的,但其中包含了一个不应该出现的额外符号。
我们已经讨论了两个库提供的核心功能。现在,让我们对它们进行比较。
NReco 在许多不同的用例中使用 C# wkHtmlToPdf 工具。我们不需要单独安装 wkHtmltoPdf,但确实需要安装单独的 NuGet 包来创建和读取 PDF 文档。 因此,这增加了管理项目库依赖关系的复杂性。另一方面,IronPDF 只需要一次性安装。IronPDF 的全套功能不需要额外的库。
无论是从 URls 还是从原始 HTML 字符串,IronPDF 都能准确地将 HTML 内容渲染为 PDF。如果未事先获得商业许可,则无法在 NReco 中使用这些相同的功能。
这两个库都能很好地从 PDF 文件中提取文本,但 NReco 在其输出中包含了一个额外的、不必要的符号。
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 还提供良好的支持和文档,确保用户能够充分有效地利用所提供的一系列令人印象深刻的功能。