在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
C# 开发人员在读取、编写、创建或在不同文件格式之间转换 PDF 时一直面临挑战。不过,随着大量库的出现,这些问题已经迎刃而解,而且这些库的轻松集成使其在 C# 应用程序中更加流行和易于使用。
本文旨在比较 .NET Framework 和 .NET Core 开发人员最常用的两个 PDF 库:
这两个库都是 .NET C# 库,提供在 .NET 和 .NET Core 中生成、转换和编辑 PDF 的方法。主要的问题是决定哪一个 C# PDF 库最适合我们的项目。在本文中,我们将对这两个库进行最全面的比较,重点介绍它们的突出功能,以便您在为项目选择合适的库时做出明智的决定。
首先,让我们看看这两个库都提供了哪些功能,然后再进行比较。
IronPDF 是一款全面的 .NET PDF 库解决方案,尤其适合 C# 开发人员使用。使用该库,您可以轻松实现所有必要的功能,从而在 C# 中创建出色的 PDF 阅读器或 PDF 查看器。
IronPDF 拥有一个.NET Chromium 引擎,可将 HTML 内容渲染为 PDF 文档,无需复杂的 API,即可轻松设计或定位 PDF。它的 HTML 到 PDF 转换器可以使用 HTML5、CSS、JavaScript 和图像创建 .NET PDF 库。此外,它还能让你轻松编辑 PDF、添加页眉和页脚以及从 PDF 中提取图像。此外,它还能让阅读 PDF 文本变得简单明了。
专家PDF 也是一个.NET 库,它为开发人员提供了将 HTML 快速转换为 PDF 的功能。如果您需要生成 PDF 报告或制作 PDF 阅读器,您不必再使用复杂的报告生成软件了。
PDF专家易于使用,但它又是一个功能强大的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 至图像转换器
本文其余部分将涉及以下主题:
1.创建控制台项目
2.安装 IronPDF
3.ExpertPDF 安装
4.从 URL 创建 PDF
5.从 HTML 输入字符串创建 PDF
6.将多个 PDF 合并为一个 PDF
7.将图像转换为 PDF
8.许可和定价
9.结论
请按照以下步骤使用 visual studio 2022 用 C# 创建控制台应用程序:
现在我们的控制台项目已经创建,可以测试我们的库了。不过,我们仍然需要将它们安装到我们的项目中。首先安装 IronPDF。
下载和安装 IronPDF 库有多种方法。具体如下
1.使用 Visual Studio
2.直接下载 NuGet 软件包
3.下载 IronPDF .DLL 库
Visual Studio 本身提供了 NuGet 包管理器,用于在 C# 项目中安装所有 NuGet 包。您可以通过
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/pdf/blog/expert-pdf-net-library-alternatives/expert-pdf-net-library-alternatives-6.webp" alt="A Comparison between IronPDF and ExpertPDF for .NET: Figure 6: 项目菜单 > 管理 NuGet 软件包" class="img-responsive add-shadow">
</div>
<p class="content__image-caption">项目菜单 > 管理 NuGet 软件包</p>
</div>
选择后,浏览 IronPDF NuGet 软件包并安装,如下图所示:
另一种方法是从 NuGet 网站下载 IronPDF。直接访问 NuGet 并下载软件包。按照以下步骤操作
您也可以直接从 IronPDF 网站下载 IronPDF .DLL 文件。点击IronPDF DLL 下载 安装。
接下来,按照以下步骤在项目中引用 IronPDF:
全部完成! 现在 IronPDF 已经安装完毕,随时可以使用。不过,在此之前,我们先安装 ExpertPDF 进行比较。
下载和安装 ExpertPDF 库有两种方法:
我们将使用新的 .NET Framework,因此我们将使用 NuGet 软件包管理器安装 ExpertPDF。
与 IronPDF 一样,您可以通过以下方式访问 NuGet 包管理器:
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/pdf/blog/expert-pdf-net-library-alternatives/expert-pdf-net-library-alternatives-9.webp" alt="A Comparison between IronPDF and ExpertPDF for .NET: Figure 9: 项目菜单 > 管理 NuGet 软件包" class="img-responsive add-shadow">
</div>
<p class="content__image-caption">项目菜单 > 管理 NuGet 软件包</p>
</div>
选择后,浏览 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 至 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 设置中添加更多选项。
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 对象形式存在的多个文档。您可以在下面的示例中看到其使用方法 代码示例.
请注意,如果合并的 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 库.它可免费用于私人开发,也可随时授权用于商业用途。各种 提供许可证适用于单个项目、单个或多个开发人员、机构和跨国公司。它还支持 SaaS 和 OEM 再分发。
所有许可证均提供 30 天退款保证,以及一年的支持和产品更新。许可证是永久性的,这意味着只需一次性购买,无需支付额外费用。针对单个开发人员和单个项目的精简版软件包起价为 $749。
ExpertPDF 为每位开发人员或每家公司提供购买许可证的服务。您可以 免费试用 ExpertPDF.您可以从下图中查看许可证功能列表。
ExpertComponents Toolkit Total 开发人员许可证的起价为 850 美元,ExpertPDF Toolkit 的起价为 750 美元。您也可以购买单个组件。购买 全部定价清单 可在网站上查阅。
IronPDF 可在本地将 HTML 转换为 PDF,因此无需互联网连接。实际上,它隐含了一个真正符合标准的网络浏览器对象。HTML 渲染是完全准确的矢量格式,适合最高标准的商业印刷。输出干净整洁,并生成高质量的 PDF 文件。它可以授权用于商业用途,所有价格都在网站上列出,没有任何隐藏费用。
ExpertPDF's HTML-to-PDF Converter Library 是一款多功能工具,它可以将网页和 HTML 代码转换为 PDF 文档,从 ASP.NET 网页生成 PDF 报告,甚至可以使用电子签名签署合同。它可以免费使用,但也可以通过授权获得更多功能。
虽然这两个库都能处理 PDF 文件并转换常用格式,但 IronPDF 比 ExpertPDF 更有优势。IronPDF 提供更广泛的格式转换,包括 XML、图像和 AngularJS,以及更强大的生成、格式化和编辑 PDF 的功能。IronPDF 是一种省时的解决方案,推荐给追求高效的务实开发人员使用。
ExpertPDF 包含单独的组件,必须单独安装,而 IronPDF 是一款完整的软件,所有功能都集中在一处。对于只需要单一组件的项目,如 HTML 到 PDF 的转换,ExpertPDF 可能是一个不错的选择。IronPDF 的软件包提供终身许可,无需持续费用,而 ExpertPDF 则需要续费。