产品比较

Telerik HTML to PDF生成器与IronPDF

由于其复杂性,以编程方式生成 PDF 文档可能很复杂,尤其是当文档包含图像、表格、文本、格式和其他功能时。

主要挑战在于如何将纯文本文档转换为 PDF 格式。 可以使用多种方法,但选择一种能够保持原始文档格式的方法至关重要。

在本教程中,我将比较 Progress Software Corporation 的 Telerik PdfProcessing 库和 Iron Software 的 IronPDF 在生成 PDF 文档方面的性能。

Telerik PdfProcessing

Telerik PdfProcessing 文档是 Progress 文档处理应用程序组合的一部分,可以让您无需编写任何代码即可创建和导出 PDF。 它具有文本块、图像、表单、表格、导入和导出等功能。 此外,该库提供的功能非常适合流式编辑。 PdfProcessing 应用程序可用于网络、桌面和移动平台。

IronPDF .NET PDF 库

IronPDF for .NET 是一个 .NET PDF 库,无需 Adobe Acrobat 或其他第三方软件即可生成 PDF。 该库可以从头开始创建PDF或将现有的 .NET 组件(如ASP.NET 官方网站网页、WPF 用户界面等)导出为PDF文件。

安装

在本节中,我将介绍如何安装 IronPDF 和 Telerik 文档处理库。

安装 Telerik 文档处理库

要使用 Telerik 文档处理套件从 HTML 创建 PDF 文档,我们必须安装三个库:

  1. Telerik.Documents.Core.Trial

  2. Telerik.Documents.Flow.FormatProviders.Doc.Trial

  3. Telerik.Documents.Flow.FormatProviders.Pdf.Trial

  4. Telerik.Documents.Flow.Trial

    您可以使用 NuGet 软件包管理器安装以下库。

    Telerik HTML to PDF PDF Generator vs IronPDF - Figure 1: Telerik 和 Kendo UI 库

    Telerik 和 Kendo UI 库

安装 IronPDF C# .NET PDF 库

您可以使用三种方式安装 IronPDF:

  1. 使用 NuGet 软件包管理器控制台安装

  2. 使用 NuGet Visual Studio GUI 安装

  3. 下载 IronPDF DLL文件进行手动安装

    要使用软件包管理器控制台进行安装,您需要在控制台中编写以下命令。

Install-Package IronPdf

它会在项目中安装最新的 IronPDF 库版本。 当然,您始终可以在IronPDF 的 NuGet 页面上查看 IronPDF 的最新版本。

使用 Telerik 生成 PDF

Telerik 支持使用 RadFlowDocument 库插件将 HTML 转换为 PDF。 它可以将包含 HTML 字符串的 HTML 文档转换为 PDF 文档。

您可以使用以下代码使用 Telerik 将 HTML 转换为 PDF。

using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.Model;

HtmlFormatProvider htmlProvider = new Telerik.Windows.Documents.Flow.FormatProviders.Html.HtmlFormatProvider();
// Create a document instance from the content.
RadFlowDocument document = htmlProvider.Import(File.ReadAllText(@"C:\HTML Website\website\index.html"));

Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider pdfProvider = new Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider();

// Export the document. The different overloads enable you to export to a byte [] or to a Stream.
byte [] pdfBytes = pdfProvider.Export(document);

File.WriteAllBytes(@"C:/test.pdf", pdfBytes);
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.Model;

HtmlFormatProvider htmlProvider = new Telerik.Windows.Documents.Flow.FormatProviders.Html.HtmlFormatProvider();
// Create a document instance from the content.
RadFlowDocument document = htmlProvider.Import(File.ReadAllText(@"C:\HTML Website\website\index.html"));

Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider pdfProvider = new Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider();

// Export the document. The different overloads enable you to export to a byte [] or to a Stream.
byte [] pdfBytes = pdfProvider.Export(document);

File.WriteAllBytes(@"C:/test.pdf", pdfBytes);
Imports Telerik.Windows.Documents.Flow.FormatProviders.Html
Imports Telerik.Windows.Documents.Flow.Model

Private htmlProvider As HtmlFormatProvider = New Telerik.Windows.Documents.Flow.FormatProviders.Html.HtmlFormatProvider()
' Create a document instance from the content.
Private document As RadFlowDocument = htmlProvider.Import(File.ReadAllText("C:\HTML Website\website\index.html"))

Private pdfProvider As New Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider()

' Export the document. The different overloads enable you to export to a byte [] or to a Stream.
Private pdfBytes() As Byte = pdfProvider.Export(document)

File.WriteAllBytes("C:/test.pdf", pdfBytes)
$vbLabelText   $csharpLabel

上述代码有些复杂。 首先,您需要创建一个HtmlFormatProvider和一个RadFlowDocument。 使用HtmlFormatProviderImport函数导入HTML文件,并使用返回的RadFlowDocument对象生成PdfFormatProvider。 最后,使用PdfFormatProviderWriteAllBytes方法将PDF文件导出到指定位置。

Telerik 生成的输出结果并不理想。 Telerik 没有保留 HTML 文档的用户界面,也没有加载任何图片。

Telerik HTML to PDF PDF Generator vs IronPDF - Figure 2: Telerik 输出

Telerik 输出

使用 IronPDF 生成 PDF

IronPdf 可以使用 HTML 文件、HTML 字符串和 URL 生成 PDF。

HTML 转 PDF

使用以下代码使用 HTML 文件创建 PDF 文档。

using IronPdf;

var IronRenderer = new ChromePdfRenderer();

IronRenderer.RenderingOptions.FitToPaperMode = IronPdf.Engines.Chrome.FitToPaperModes.FixedPixelWidth;

var pdfFromHtmlFile = IronRenderer.RenderHtmlFileAsPdf(@"C:\HTML Website\website\index.html");

pdfFromHtmlFile.SaveAs(@"C:/IronPDF Test.pdf");
using IronPdf;

var IronRenderer = new ChromePdfRenderer();

IronRenderer.RenderingOptions.FitToPaperMode = IronPdf.Engines.Chrome.FitToPaperModes.FixedPixelWidth;

var pdfFromHtmlFile = IronRenderer.RenderHtmlFileAsPdf(@"C:\HTML Website\website\index.html");

pdfFromHtmlFile.SaveAs(@"C:/IronPDF Test.pdf");
Imports IronPdf

Private IronRenderer = New ChromePdfRenderer()

IronRenderer.RenderingOptions.FitToPaperMode = IronPdf.Engines.Chrome.FitToPaperModes.FixedPixelWidth

Dim pdfFromHtmlFile = IronRenderer.RenderHtmlFileAsPdf("C:\HTML Website\website\index.html")

pdfFromHtmlFile.SaveAs("C:/IronPDF Test.pdf")
$vbLabelText   $csharpLabel

我使用RenderHtmlFileAsPdf方法从HTML文件生成PDF。此功能从HTML文件中读取所有内容,并加载相关的CSS和JavaScript文件。 RenderHtmlFileAsPdf方法的输出如下。

Telerik HTML to PDF PDF Generator vs IronPDF - Figure 3: IronPDF HTML 转 PDF

IronPDF HTML 转 PDF

IronPDF 可以非常漂亮地从 HTML 生成 PDF。 这一结果与 Telerik 生成的 PDF 不同,而且更好。

URL 到 PDF

您可以使用以下代码从 URL 生成 PDF。

using IronPdf.Rendering;
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.PaperSize = PdfPaperSize.A2;

PdfDocument myPdf = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/");
myPdf.SaveAs(@"C:/dotnet.pdf");
using IronPdf.Rendering;
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.PaperSize = PdfPaperSize.A2;

PdfDocument myPdf = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/");
myPdf.SaveAs(@"C:/dotnet.pdf");
Imports IronPdf.Rendering
Imports IronPdf

Private renderer As New ChromePdfRenderer()

renderer.RenderingOptions.PaperSize = PdfPaperSize.A2

Dim myPdf As PdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/")
myPdf.SaveAs("C:/dotnet.pdf")
$vbLabelText   $csharpLabel

RenderUrlAsPdf函数将网页的URL转换为PDF。 在渲染之前,它会等待加载所有相关文件。 它产生了非凡的效果。 翻译必须保留所有颜色、设计和用户界面。 您可以看到下面的输出结果。

Telerik HTML to PDF PDF Generator vs IronPDF - Figure 4: IronPDF URL 到 PDF

URL 到 PDF

您可以在IronPDF教程页面获取更多关于IronPDF的教程并查看它们的实际应用。

比较

我们看过 IronPDF 和 Telerik 的 ASP.NET 结果输出 UI,可以说 Telerik 并不是 HTML 到 PDF 转换的好选择,因为它的渲染质量并不好。 您可以在下面看到 IronPDF 和 Telerik 输出的不同之处。

Telerik HTML to PDF PDF Generator vs IronPDF - Figure 5: 输出比较

输出比较

渲染质量

在上图中,您可以看到 IronPDF 和 Telerik 的标准输出之间的明显区别。 让我们根据功能来比较一下输出结果。

Telerik 的渲染质量较差。 它所渲染的 PDF 格式不佳,无法保留文档的原始样式。 另一方面,IronPdf 具有出色的渲染质量,保留了源文件的方方面面。

CSS 和 JavaScript 支持

Telerik 不支持外部文件。 此外,它不支持 JavaScript。

相反,IronPdf 完全支持内部和外部 CSS 和 JavaScript 声明。 可以根据需要用 IronPDF 切换开启或关闭对 JavaScript 的处理。

Telerik 文档处理的局限性

总之,以下是 Telerik PdfProcessing 的一些其他限制:

  1. Telerik 不支持 CSS 或 JavaScript 等外部文件

  2. 图像无法在 PDF 中呈现

  3. Telerik 不支持 URL 至 PDF

  4. Telerik 不支持 HTML 文档的任何链接文件

  5. 渲染质量差

IronPDF 的功能

IronPDF 的主要功能包括

  • IronPDF 支持 URL 到 PDF 和 HTML 文件到 PDF 的转换。
  • IronPdf 支持图片、CSS 和 JS 文件等外部文件。
  • IronPdf 可自动加载每个文件,无需使用任何外部库。
  • IronPDF 拥有丰富的文档。
  • IronPdf 保留了用户界面,并给出了完美的渲染质量。

    IronPDF 还有很多其他功能。 您可以访问IronPDF 功能页面以获取最佳信息。

    Telerik HTML to PDF PDF Generator vs IronPDF - Figure 6: IronPDF 功能

    IronPDF 功能

结论

在本文中,我们比较了 IronPDF 和 Telerik PdfDocument 处理库,发现在 HTML 到 PDF 的转换方面,IronPDF 远远优于 Telerik 库。

IronPDF 是一个优秀的库,可用于所有与 PDF 相关的操作。 您可以在所有最新的 .NET 和 .NET Core Framework 中创建、编辑和修改 PDF 文件。 请访问 IronPDF 许可页面 以获取有关 IronPDF 产品捆绑包的分发和许可的更多信息。

Chipego
软件工程师
Chipego 拥有出色的倾听技巧,这帮助他理解客户问题并提供智能解决方案。他在 2023 年加入 Iron Software 团队,此前他获得了信息技术学士学位。IronPDF 和 IronOCR 是 Chipego 主要专注的两个产品,但他对所有产品的了解每天都在增长,因为他不断找到支持客户的新方法。他喜欢 Iron Software 的合作氛围,公司各地的团队成员贡献他们丰富的经验,以提供有效的创新解决方案。当 Chipego 离开办公桌时,你经常可以发现他在看书或踢足球。
< 前一页
IronPDF和PDFium.NET比较
下一步 >
IronPDF与Apitron PDF Kit对比