在 C# 中将 HTML 转换为 PDF

你有没有想过如何在 C# 中将 HTML 转换为 PDF?如果您是一名开发人员,并且您需要创建一个在屏幕上可读且还可以打印的文档,那么将 HTML 转换为 PDF 将是解决您问题的理想解决方案。您可以将本文用作有关如何在 C# 中将 HTML 准确转换为 PDF 的分步指南。您会发现详细的步骤和代码片段可以帮助您非常轻松地解决此问题。

HTML(超文本标记语言)是一种允许创建网页的标记语言。一个 HTML 页面由 HTML 元素组成,包括表单、文本、图像、动画、链接等。标记代表这些元素之一,然后是其他几个元素。每个标签都有开始和结束。对于整体布局表示,它还可以嵌入用 JavaScript 或样式表 (CSS) 编写的脚本。我们可以通过编程方式将网页转换并保存为 PDF 文档。我们可以放入 PDF 文件的信息量没有限制。我们可以包括文本、图像、超链接、表单字段、富媒体、数字签名、附件、元数据、地理空间特征和 3D 对象。

将 HTML 转换为 PDF 允许以可移植格式保存网站或其他独立的 HTML 网页或将它们打印出来。因此,请继续阅读有关如何在 C# 中将 HTML 转换为 PDF 的详细步骤。

本文应涵盖以下主题:

  1. HTML 到 PDF 转换器 C# API
  2. 将 HTML 转换为 PDF
  3. 使用保存选项将 HTML 转换为 PDF
  4. 将 HTML 字符串导出为 PDF
  5. 将 HTML 从 Live URL 转换为 PDF

HTML 到 PDF 转换器 C# API

为了将 HTML 转换为 PDF,我们将使用 Aspose.HTML for .NET API。 API 允许创建 HTML 文档。它还允许从 HTML 文档中修改和提取数据。此外,它使您无需任何外部软件即可转换和呈现 HTML 文档。

API 提供了 HTMLDocument 类,代表我们在浏览器中看到的 HTML 文档或网页。 API 的 PdfSaveOptions 类允许在另存为 PDF 时指定各种保存选项。我们可以使用 Converter 类转换 supported formats。它提供了广泛的流行格式转换,例如 PDF、XPS、图像格式等。它提供了 ConvertHTML() 方法将 HTML 转换为其他格式。

下载 API 的 DLL 或使用 NuGet 安装它。

PM> Install-Package Aspose.Html

使用 C# 将 HTML 转换为 PDF

我们可以按照以下步骤轻松地将任何 HTML 文件转换为 PDF 文档:

  1. 首先,使用 HTMLDocument 类加载 HTML 文档。
  2. 接下来,创建 PdfSaveOptions 类的实例。
  3. 最后,调用 Converter.ConvertHTML() 方法。它以 HTMLDocument、PdfSaveOptions 和输出 PDF 文件路径作为参数。

以下代码示例显示了如何在 C# 中将 HTML 文件转换为 PDF 文档。

// 此代码示例演示如何将 HTML 文件转换为 PDF 文档。
// 加载输入 HTML 文件
var document = new HTMLDocument(@"C:\Files\sample.html");

// 初始化 PdfSaveOptions 
var options = new PdfSaveOptions();

// 将 HTML 转换为 PDF
Converter.ConvertHTML(document, options, @"C:\Files\output.pdf");
使用 C# 将 HTML 转换为 PDF

使用 C# 将 HTML 转换为 PDF

使用 C# 中的保存选项将 HTML 转换为 PDF

我们可以按照以下步骤设置各种额外的保存选项,专门用于将 HTML 文件保存为 PDF 文档:

  1. 首先,使用 HTMLDocument 类加载 HTML 文档。
  2. 接下来,创建 PdfSaveOptions 类的实例。
  3. 之后,指定保存选项,例如 HorizontalResolution、VerticalResolution、BackgroundColor 等。
  4. 最后,调用 Converter.ConvertHTML() 方法将 HTML 文件转换为 PDF。

以下代码示例显示了如何使用 C# 中的其他选项将 HTML 文件转换为 PDF。

// 此代码示例演示如何使用保存选项将 HTML 文件转换为 PDF 文档。
// 加载输入 HTML 文件
var document = new HTMLDocument(@"C:\Files\sample.html");

// 初始化 PdfSaveOptions
// 设置分辨率并将背景颜色更改为卡其色 
var options = new PdfSaveOptions();
options.HorizontalResolution = 200;
options.VerticalResolution = 200;
options.JpegQuality = 100;
options.BackgroundColor = System.Drawing.Color.Khaki;

// 设置页面大小和边距
options.PageSetup.AnyPage = new Page(new Aspose.Html.Drawing.Size(600, 800), new Margin(10, 10, 10, 10));

// 将 HTML 转换为 PDF
Converter.ConvertHTML(document, options, @"C:\Files\output_saveOptions.pdf");
使用 C# 中的保存选项将 HTML 转换为 PDF

使用 C# 中的保存选项将 HTML 转换为 PDF

在 C# 中将 HTML 字符串导出为 PDF

我们还可以按照以下步骤将 HTML 字符串转换为 PDF 文档:

  1. 首先,定义一个 HTML 字符串
  2. 接下来,创建 PdfSaveOptions 类的实例。
  3. 或者,定义保存选项。
  4. 最后,调用 Converter.ConvertHTML() 方法将 HTML 字符串转换为 PDF。它以 HTML 字符串、PdfSaveOptions 和输出 PDF 文件路径作为参数。

以下代码示例显示了如何在 C# 中将 HTML 字符串转换为 PDF 文档。

// 此代码示例演示如何将 HTML 字符串转换为 PDF 文档。
// 定义 HTML 字符串
string htmlString = @"<style>
        .st
        {
        color: green;
        }
        </style>
        <div id=id1>Aspose.Html rendering Text in Black Color</div>
        <div id=id2 class=''st''>Aspose.Html rendering Text in Green Color</div><div id=id3 class=''st'' style='color: blue;'>Aspose.Html rendering Text in Blue Color</div>
        <div id=id3 class=''st'' style='color: red;'><font face='Arial'>Aspose.Html rendering Text in Red Color</font></div>";

// 初始化 PdfSaveOptions 
var options = new PdfSaveOptions();

// 调用 ConvertHTML 方法将 HTML 代码转换为 PDF           
Converter.ConvertHTML(htmlString, ".", options, @"C:\Files\HtmlStringToPdf.pdf");
在 C# 中将 HTML 字符串导出为 PDF

在 C# 中将 HTML 字符串导出为 PDF

在 C# 中将 HTML 从 Live URL 转换为 PDF

我们还可以按照以下步骤将实时 URL 中的任何网页保存为 PDF 文档:

  1. 首先,使用网页的 URL 创建 Url 类的实例。
  2. 接下来,创建 PdfSaveOptions 类的实例。
  3. 或者,定义保存选项。
  4. 最后,使用 Converter.ConvertHTML() 方法将 HTML 保存为 PDF。它以 Url、PdfSaveOptions 和输出 PDF 文件路径作为参数。

以下代码示例展示了如何使用 C# 将 Live URL 的 HTML 转换为 PDF。

// 此代码示例演示如何将 HTML 从实时 网址 转换为 PDF 文档。
// 网址
Url url = new Url("https://docs.aspose.com/html/net/");

// 初始化 PdfSaveOptions 
var options = new PdfSaveOptions();

// 将 HTML 代码转换为 PDF
Converter.ConvertHTML(url, options, @"C:\Files\outputFrom网址.pdf");
在 C# 中将 HTML 从 Live URL 转换为 PDF

在 C# 中将 HTML 从 Live URL 转换为 PDF

获得免费许可证

您可以获得免费的临时许可证 试用 Aspose.HTML for .NET,没有评估限制。

结论

在本文中,我们学习了如何:

  • 载入一个 HTML 文件;
  • 指定 PDF 保存选项;
  • 在 C# 中将 HTML 从文件、字符串或实时网页转换为 PDF。

除了在 C# 中将 HTML 转换为 PDF 之外,您还可以使用 文档 了解有关 Aspose.HTML for .NET API 的更多信息。如有任何疑问,请随时通过我们的免费支持论坛与我们联系。

也可以看看