在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
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,点击创建新项目
选择 C# 控制台应用程序,然后单击下一步
在下一个屏幕中,键入项目名称,然后点击下一步
现在我们的控制台项目已经创建,可以测试我们的库了。 不过,我们仍然需要将它们纳入我们的项目。 让我们先安装 IronPDF。
下载和安装 IronPDF 库有多种方法。 具体如下
使用 Visual Studio
直接下载 NuGet 软件包
Visual Studio 本身提供了 NuGet 包管理器,用于在 C# 项目中安装所有 NuGet 包。 您可以通过
右键单击解决方案资源管理器中的项目
选择后,浏览 IronPDF NuGet 软件包并安装,如下图所示:
另一种方法是从 NuGet 网站下载 IronPDF。访问IronPDF NuGet 页面直接下载软件包。 按照步骤操作:
您也可以直接从以下网站下载 IronPDF .DLL 文件IronPDF 网站. 点击下载 IronPDF DLL安装。
接下来,按照以下步骤在项目中引用 IronPDF:
单击 "确定 "即可完成!
全部完成! 现在 IronPDF 已安装完毕,可以随时使用。 不过,在此之前,我们先安装 ExpertPDF 进行比较。
下载和安装 ExpertPDF Library 有两种方法:
下载程序集(旧版本的 .NET Framework)
我们将使用新的 .NET Framework,因此将使用 NuGet 软件包管理器安装 ExpertPDF。
与 IronPDF 一样,您也可以通过以下方式访问 NuGet 包管理器:
右键单击解决方案资源管理器中的项目
选择后,浏览 ExpertPDF NuGet 软件包并安装,如下图所示:
注: 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")
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")
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")
合并 "方法也有一个重载,可接受以 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 可在 IronPDF 网站上下载。私人开发免费,商业用途可随时获得许可。 各种提供许可证该翻译工作适用于单个项目、单个或多个开发人员、代理机构和跨国公司。 它还支持 SaaS 和 OEM 再分发。
所有许可证均提供 30 天退款保证,以及一年的支持和产品更新。 许可证是永久性的,这意味着只需一次性购买,无需支付额外费用。 针对单个开发人员和单个项目的精简版软件包起价为 $749。
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 则需要续费。