在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
由于其复杂性,以编程方式生成 PDF 文档可能很复杂,尤其是当文档包含图像、表格、文本、格式化和其他功能时。
主要的挑战在于如何将纯文本文档转换为 PDF 格式。可以使用的方法有很多,但选择一种能保持原始文档格式的方法至关重要。
在本教程中,我将比较 Progress 软件公司的 Telerik PdfProcessing 库和 Iron 软件公司的 IronPDF 在生成 PDF 文档方面的优劣。
进口
方法加载现有的 HTML 文件导出
方法Telerik PdfProcessing作为 Progress 文档处理应用程序组合的一部分,它允许您在不编写任何代码的情况下创建 PDF 并导出文档。它具有文本块、图像、表单、表格、导入和导出等功能。此外,该库还提供非常适合流程式编辑的功能。PdfProcessing 应用程序可用于网络、桌面和移动平台。
IronPDF 是一个 .NET PDF 库,无需 Adobe Acrobat 或其他第三方软件即可生成 PDF。该库可从头开始创建 PDF 或导出现有的 .NET 组件。 (喜欢 ASP.NET 网页、WPF 用户界面等。) 转化为 PDF 文件。
在本节中,我将介绍如何安装 IronPDF 和 Telerik Document Processing 库。
要使用 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 软件包管理器安装以下库。
您可以通过三种方式安装 IronPDF:
1.使用 NuGet 软件包管理器控制台安装
2.使用 NuGet Visual Studio GUI 安装
3.下载 DLL 文件
使用软件包管理器控制台安装时,需要在控制台中编写以下命令。
Install-Package IronPdf
它会在项目中安装最新版本的 IronPDF 库。当然,你也可以随时在
Telerik 支持使用 RadFlowDocument
库插件将 HTML 转换为 PDF。它可以将包含 HTML 字符串的 HTML 文档转换为 PDF 文档。
您可以使用以下代码,使用 Telerik.NET 将 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)
上述代码有些复杂。首先需要创建一个 HtmlFormatProvider
和一个 RadFlowDocument
。使用 HtmlFormatPRovider
的 Import
函数导入 HTML 文件,并使用返回的 RadFlowDocument
对象生成一个 PdfFormatProvider
。 最后,使用 PdfFormatProvider
上的 WriteAllBytes
方法将 PDF 文件导出到特定位置。
Telerik 生成的输出结果并不好。Telerik 没有保留 HTML 文档的用户界面,也没有加载任何图像。
IronPDF 可以使用 HTML 文件、HTML 字符串和 URL 生成 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")
我使用 RenderHtmlFileAsPdf
方法从 HTML 文件生成 PDF。该函数读取 HTML 文件中的所有内容,并加载相关的 CSS 和 JavaScript 文件。RenderHtmlFileAsPdf` 方法的输出如下。
IronPDF 可以非常漂亮地从 HTML 生成 PDF。这种效果与 Telerik 生成的 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")
RenderUrlAsPdf "函数将网页的 URL 转换为 PDF。在渲染之前,它会等待加载所有相关文件。它能产生非凡的效果。它保留了所有颜色、设计和用户界面。您可以看到下面的输出结果。
您可以在以下网站上获取更多有关 IronPDF 的教程,并查看其运行情况 IronPDF 网站.
通过观察 IronPDF 和 Telerik 的 ASP.NET 输出结果 UI,我们可以说 Telerik 并不是 HTML 转 PDF 的好选择,因为它的渲染质量并不好。下面是 IronPDF 和 Telerik 输出结果的区别。
在上图中,您可以看到 IronPDF 和 Telerik 的标准输出之间存在明显差异。让我们根据功能来比较一下输出结果。
Telerik 的渲染质量很差。它渲染的 PDF 格式很差,无法保留文档的原始样式。另一方面,IronPDF 具有出色的渲染质量,保留了源文档的方方面面。
Telerik 不支持外部文件。此外,它还不支持 JavaScript。
相反,IronPDF 完全支持内部和外部 CSS 和 JavaScript 声明。使用 IronPDF,可以根据需要打开或关闭 JavaScript 处理。
总而言之,以下是Telerik PdfProcessing的一些其他限制:
1.Telerik 不支持 CSS 或 JavaScript 等外部文件
2.图像无法在 PDF 中呈现
3.Telerik 不支持指向 PDF 的 URL
4.Telerik 不支持 HTML 文档的任何链接文件
5.渲染质量差
IronPDF 的主要功能有
IronPDF 还有许多其他功能。您可以访问 IronPDF 网站,了解最好的信息.
在本文中,我们比较了 IronPDF 和 Telerik PdfDocument 处理库,发现在 HTML 到 PDF 的转换方面,IronPDF 远远优于 Telerik 库。
IronPDF 是一个出色的库,可用于所有与 PDF 相关的操作。您可以在所有最新的 .NET 和 .NET Core 框架中创建、编辑和修改 PDF 文件。访问 许可页面了解有关 IronPDF 产品捆绑包的分发和许可的更多信息。