在 C# 中从 HTML 生成 PDF

在浏览各种网站时,您可能希望将网页的 HTML 内容下载为 PDF 文件以供日后使用。在这种情况下,您需要一个多合一转换器来正确地将您的内容从 HTML 转换为 PDF。作为 C# 开发人员,我们可以轻松地将 HTML 内容从 HTML 文件转换为 PDF 文档。我们还可以从 HTML 字符串生成 PDF 文档,或从实时 URL 将网页另存为 PDF。在本文中,我们将学习如何在 C# 中从 HTML 生成 PDF。

本文将涵盖以下主题:

  1. 从 HTML 生成 PDF 的 C# API
  2. 从 HTML 生成 PDF 文档
  3. 使用保存选项将 HTML 转换为 PDF
  4. 从 HTML 字符串生成 PDF
  5. 从 Live URL 生成 PDF

C# API 从 HTML 生成 PDF

要从 HTML 文件生成 PDF 文档,我们将使用 Aspose.HTML for .NET API。它是一种高级 HTML 处理 API,允许从 HTML 文档中创建、修改和提取数据。它还允许在没有任何外部软件的情况下转换和呈现 HTML 文档。

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

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

PM> Install-Package Aspose.Html

在 C# 中从 HTML 生成 PDF 文档

我们可以按照以下步骤轻松地从 HTML 文件生成 PDF 文档:

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

以下代码示例展示了如何使用 C# 从 HTML 文件生成 PDF 文档。

// 此代码示例演示如何从 HTML 文件生成 PDF 文档。
// 输入 HTML 文件路径
string documentPath = @"C:\Files\sample.html";

// 输出PDF文件路径 
string savePath = Path.Combine(@"C:\Files\output.pdf");

// 加载输入 HTML 文件
var document = new HTMLDocument(documentPath);

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

// 将 HTML 转换为 PDF
Converter.ConvertHTML(document, options, savePath);
在 CSharp 中从 HTML 生成 PDF 文档

在 C# 中从 HTML 生成 PDF 文档

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

我们可以按照以下给出的步骤从带有附加保存选项的 HTML 文件生成 PDF 文档:

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

以下代码示例展示了如何使用 C# 中的附加选项从 HTML 文件生成 PDF。

// 此代码示例演示如何使用保存选项从 HTML 文件生成 PDF 文档。
// 输入 HTML 文件路径
string documentPath = @"C:\Files\sample.html";

// 输出PDF文件路径 
string savePath = Path.Combine(@"C:\Files\output.pdf");

// 加载输入 HTML 文件
var document = new HTMLDocument(documentPath);

// 初始化 PdfSaveOptions。 
// 设置页面大小、边距、分辨率并将背景颜色更改为 AliceBlue 
var options = new PdfSaveOptions()
{
    HorizontalResolution = 200,
    VerticalResolution = 200,
    JpegQuality = 100,
    BackgroundColor = Color.AliceBlue
};

options.PageSetup.AnyPage = new Page(new Aspose.Html.Drawing.Size(600, 300), new Margin(20, 10, 10, 10));

// 将 HTML 转换为 PDF
Converter.ConvertHTML(document, options, savePath);

在 C# 中从 HTML 字符串生成 PDF

我们还可以按照以下步骤从 HTML 字符串生成 PDF 文档:

  1. 首先,创建 PdfSaveOptions 类的实例。
  2. (可选)定义保存选项。
  3. 最后,调用 Converter.ConvertHTML() 方法生成 PDF。它以 HTML 字符串、PdfSaveOptions 和输出 PDF 文件路径作为参数。

以下代码示例展示了如何使用 C# 从 HTML 字符串生成 PDF。

// 此代码示例演示如何从 HTML 字符串生成 PDF 文档。
string htmlString = @"<h1>Convert HTML to PDF!</h1><br/><h2>This is Sample Heading!</h2><p>This is first paragraph.</p>";

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

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

在 C# 中从 HTML 字符串生成 PDF

在 C# 中从 Live URL 生成 PDF

在上一节中,我们已经了解了如何从 HTML 字符串生成 PDF。我们还可以按照以下步骤将网页从 URL 保存到 PDF 文档:

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

以下代码示例展示了如何使用 C# 从 Live URL 生成 PDF。

// 网址
Url url = new Url("https://docs.aspose.com/diagram/net/");

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

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

获得免费许可证

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

结论

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

  • 以编程方式加载 HTML 文件;
  • 定义 PDF 保存选项;
  • 将 HTML 字符串另存为 PDF;
  • 将网页另存为 PDF 文档;
  • 在 C# 中将 HTML 文件转换为 PDF。

除了在 C# 中从 HTML 生成 PDF,您还可以使用 documentation 了解更多关于 Aspose.HTML for .NET API 的信息。如有任何歧义,请随时在我们的 免费支持论坛 上与我们联系。

也可以看看