在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
C# 开发人员在读取、写入、创建或在不同文件格式之间转换 PDF 时一直面临着挑战。 不过,随着众多库的出现,这些问题都得到了解决,而且这些库易于集成,使得它们在 C# 应用程序中更加流行和易于使用。
本文旨在比较 .NET Framework 和 .NET Core 开发人员最常用的两个 PDF 库:
专家PDF
这两个库都是 .NET C# 库,提供在 .NET 和 .NET Core 中生成、转换和编辑 PDF 的方法。 主要的问题是决定这些 C# PDF 库中哪个最适合我们的项目。 在本文中,我们将对这两个库进行最全面的比较,突出它们的突出特点,以便您在为项目选择合适的库时做出明智的决定。
首先,让我们看看这两个库都有哪些功能,然后再进行比较。
IronPDF 是一个全面的 .NET PDF 库解决方案,特别适合 C# 开发人员使用。 有了这个库,您就可以用 C# 轻松实现创建优秀 PDF 阅读器或 PDF 查看器所需的所有功能。
IronPDF 拥有一个 .NET Chromium 引擎,可将 HTML 内容渲染为 PDF 文档,使设计或定位 PDF 文件变得更加容易,而无需复杂的 API。它的 HTML 到 PDF 转换器可以使用 HTML5、CSS、JavaScript 和图像创建 .NET PDF 库。 此外,它还能让你轻松编辑 PDF、添加页眉和页脚,以及从 PDF 中提取图像。 此外,它还能让 PDF 文本的阅读变得简单明了。
访问ExpertPDF官网获取详细信息,了解更多关于他们的.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 查看器和文档。
重要功能如下:
文件类型转换:
PDF 文本转换器
HTML 至 PDF 转换器
HTML 至图像转换器
PDF 至图像转换器
文章的其余部分将涉及以下主题:
创建控制台项目
IronPDF 安装
安装 ExpertPDF
从 URL 创建 PDF
从 HTML 输入字符串创建 PDF
将多个 PDF 合并为一个 PDF
将图像转换为 PDF
许可和定价
按照步骤使用 Visual Studio 2022 用 C# 创建一个控制台应用程序:
打开 Visual Studio 2022,点击创建新项目
Visual Studio 2022
选择 C# 控制台应用程序,然后单击下一步
新建项目对话框
在下一个屏幕中,键入项目名称,然后点击下一步
网络表格
其他信息
现在我们的控制台项目已经创建,可以测试我们的库了。 不过,我们仍然需要将它们纳入我们的项目。 让我们先安装 IronPDF。
下载和安装 IronPDF 库有多种方法。 具体如下
使用 Visual Studio
直接下载 NuGet 软件包
Visual Studio 本身提供了 NuGet 包管理器,用于在 C# 项目中安装所有 NuGet 包。 您可以通过
解决方案资源管理器
项目菜单 > 管理 NuGet 软件包
选择后,浏览 IronPDF NuGet 软件包并安装,如下图所示:
从 NuGet 软件包安装 IronPDF
另一种方法是从 NuGet 网站下载 IronPDF。直接访问 IronPDF NuGet 页面 并下载该软件包。 按照步骤操作:
您也可以直接从IronPDF网站下载IronPDF .DLL文件。 点击下载 IronPDF DLL进行安装。
接下来,按照以下步骤在项目中引用 IronPDF:
点击确定,完成!
完成! 现在 IronPDF 已安装完毕,可以随时使用。 不过,在此之前,我们先安装 ExpertPDF 进行比较。
下载和安装 ExpertPDF Library 有两种方法:
下载程序集(旧版.NET Framework)
我们将使用新的 .NET Framework,因此将使用 NuGet 软件包管理器安装 ExpertPDF。
与 IronPDF 一样,您也可以通过以下方式访问 NuGet 包管理器:
解决方案资源管理器
项目菜单 > 管理 NuGet 软件包
选择后,浏览 ExpertPDF NuGet 软件包并安装,如下图所示:
ExpertPDF 软件包
注意:ExpertPDF 仅支持 Windows 操作系统。
这两个库都能将 HTML 标记转换为 PDF。 现在,让我们逐一看看每个库的 C# 代码。
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")
使用 IronPDF 将 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")
使用 ExpertPDF 将 URL 转换为 PDF
IronPDF 和 Expert PDF 都提供了从包含 HTML 的标记字符串创建 PDF 的功能。
以下代码片段演示了如何使用 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")
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")
第一个参数是实际的 HTML 字符串,第二个参数是保存扫描文档的文件名。
IronPDF 和 ExpertPDF 都提供将多个 PDF 文件合并为一个 PDF 文件的功能。该功能对于整合分散的数据并更高效地通过互联网发送非常有用。
以下代码渲染了两个由不同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")
Merge
方法还具有一个重载,可以以Enumerable对象的形式接受多个文档。 您可以在此IronPDF 合并 PDF 的代码示例中查看其用法示例。
请注意,如果合并的 PDF 文件包含可编辑的表单,生成的 PDF 表单字段的名称将附加索引编号。
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")
IronPDF 能够将各种图像转换为 PDF 文件,而 ExpertPDF 则不提供此功能。 不过,ExpertPDF 可以从 PDF 文件中提取图像,还可以将 PDF 文件转换为图像,IronPDF 也提供了这一功能。
在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
除了能将各种图像转换为 PDF 文件外,IronPDF 还能将扫描文件、纸质文件和商业文件转换为单独的图像。 它还可以从这些类型的文件中提取图像。
IronPDF 是一个完全开放的商业 C# PDF 库,可以在 IronPDF 网站上获取。它对私人开发免费,并且可以随时获得商业用途的许可。 提供多种许可证,适用于单个项目、单个或多个开发人员、代理机构和全球公司。 它还支持 SaaS 和 OEM 再分发。
IronPDF 许可选项
所有许可证均提供 30 天退款保证,以及一年的支持和产品更新。 许可证是永久性的,这意味着只需一次性购买,无需支付额外费用。 针对单个开发人员和单个项目的Lite套件起价为$749。
ExpertPDF 提供按开发人员或公司购买许可证。 您可以免费试用ExpertPDF。 您可以从下图中查看许可证功能列表。
ExpertPDF 许可选项
ExpertComponents Toolkit Total 开发者许可证起价为 $850,而 ExpertPDF Toolkit 起价为 $750。您也可以购买单个组件。 ExpertPDF的完整价格列表可以在网站上查看。
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 则需要续费。