用 Python 将 HTML 转换为 PDF

PDF 文件是一种固定布局的文档,包括文本、图形、超链接、按钮、表单字段、多媒体和其他需要显示的信息。PDF 文件具有很高的安全性,允许使用密码保护、加密和数字签名来保护敏感信息。PDF 还具有普遍可访问性,无需特定软件即可在任何设备上轻松查看。此外,PDF 文件结构紧凑,可将高质量文件压缩到较小尺寸,非常适合共享和存储。

在本指南中,您将了解如何使用 Aspose.HTML for Python 通过 .NET 将 HTML 文档转换为便携文档格式(PDF)文件格式。我们将详细介绍如何使用 Converter 类的 convert_html() 方法将 HTML 转换为 PDF,以及如何应用 PdfSaveOptions。此外,您还可以尝试使用在线 HTML 转换器来测试 Aspose.HTML 的功能并即时转换 HTML。

要继续学习本教程,请在您的 Python 项目中 安装并配置 Aspose.HTML for Python via .NET。我们的代码示例将帮助您使用 Python 库将 HTML 转换为 PDF 并生成 PDF 文件。

用一行代码将 HTML 转换为 PDF

Converter 类的方法主要用于将 HTML 代码转换成各种格式的最简单方法。只需一行代码,您就可以在 Python 应用程序中将 HTML 转换为 PDF!

1# Convert HTML to PDF using Python
2
3import aspose.html.converters as conv
4import aspose.html.saving as sav
5
6# Convert HTML to PDF
7conv.Converter.convert_html("document.html", sav.PdfSaveOptions(), "output.pdf")

在线 HTML 转换器

您可以通过 .NET 测试 Aspose.HTML for Python 的功能,并实时执行 HTML 转换。只需从本地文件系统或 URL 中加载 HTML 文件,选择所需的输出格式,然后运行所提供的代码示例即可。示例使用默认保存选项,转换过程简单。转换完成后,您将立即收到所选格式的转换文件。

                
            

使用 PdfSaveOptions 将 HTML 转换为 PDF

使用 Aspose.HTML for Python via .NET,您可以通过编程转换文件,并完全控制各种转换参数。要使用指定的 PdfSaveOptions 将 HTML 转换为 PDF,您需要遵循以下几个步骤:

  1. 使用 HTMLDocument 类的 HTMLDocument() 构造函数之一加载 HTML 文件。在上面的示例中,我们从文件中初始化了一个 HTML 文档。
  2. 创建一个新的 PdfSaveOptions 对象并指定所需的属性。PdfSaveOptions 类提供了大量属性,可让你完全控制各种参数,并改进将 HTML 转换为 PDF 的过程。
  3. 使用转换器类的 convert_html() 方法。在下面的示例中,你需要将 HTMLDocumentPdfSaveOptions 和输出文件路径传递给 convert_html() 方法。

下面的 Python 代码示例展示了如何使用 PdfSaveOptions,创建带有自定义保存选项的 PDF 文件:

 1# Convert HTML to PDF in Python with custom settings
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.converters as conv
 6import aspose.html.saving as sav
 7import aspose.html.drawing as dr
 8import aspose.pydrawing as pd
 9import aspose.html.rendering.pdf.encryption as rpe
10
11
12# Setup directories and define paths
13output_dir = "output/"
14input_dir = "data/"
15if not os.path.exists(output_dir):
16    os.makedirs(output_dir)
17document_path = os.path.join(input_dir, "document.html")
18save_path = os.path.join(output_dir, "document-options.pdf")
19
20# Load an HTML document from a file or URL
21doc = ah.HTMLDocument(document_path)
22
23# Initialize saving options
24options = sav.PdfSaveOptions()
25options.page_setup.any_page = dr.Page(dr.Size(800, 600), dr.Margin(10, 10, 10, 10))
26options.css.media_type.PRINT
27options.horizontal_resolution = dr.Resolution.from_dots_per_inch(100.0)
28options.vertical_resolution = dr.Resolution.from_dots_per_inch(100.0)
29options.background_color = pd.Color.bisque
30options.is_tagged_pdf = True
31options.jpeg_quality = 90
32
33doc_info = options.document_info
34doc_info.title = "Aspose HTML Example"
35doc_info.author = "Your Name"
36doc_info.subject = "PDF Conversion"
37doc_info.keywords = "Aspose, HTML, PDF"
38
39options.encryption = rpe.PdfEncryptionInfo(
40    user_password="user123",
41    owner_password="owner123",
42    permissions=rpe.PdfPermissions.PRINT_DOCUMENT | rpe.PdfPermissions.EXTRACT_CONTENT,
43    encryption_algorithm=rpe.PdfEncryptionAlgorithm.RC4_128
44)
45
46# Convert HTML to PDF
47conv.Converter.convert_html(doc, options, save_path)

在本例中,我们使用保存选项将 HTML 文档转换为 PDF 文件。这个过程包括初始化 HTML 文档、设置页面大小和 css 媒体类型等自定义保存选项,然后执行转换。最后,将转换后的 PDF 文件保存到指定的输出目录。

您可以通过试用我们的产品来评估转换质量。下图显示了将 aspose.html 文件转换为 PDF 格式的结果:

文本 “该图说明了 aspose.html 文件”

PdfSaveOptions 类

Aspose.HTML for Python via .NET 提供了 PdfSaveOptions类,使您可以对如何以 PDF 格式保存文档进行更多控制。该类的某些属性继承了基类的属性,如 PdfRenderingOptions 或 RenderingOptions。使用 PdfSaveOptions 可以自定义渲染过程;可以指定页面大小、页边距、文件权限、Css等。以下是 PdfSaveOptions 中可用属性的说明:

HTML 转换为 PDF 和 PDF 扁平化

Aspose.HTML for Python via .NET提供了 PdfSaveOptions 类的 form_field_behaviour属性,用于在从HTML或MHTML转换为PDF文档后对其进行扁平化处理。该属性用于指定 PDF 文档中表单域的行为。如果值设置为 FormFieldBehaviour.FLATTENED,PDF 文档中的所有表单字段都将被扁平化。

 1# Flatten PDF during HTML to PDF conversion using Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.converters as conv
 6import aspose.html.saving as sav
 7import aspose.html.rendering.pdf as rp
 8
 9# Setup directories and define paths
10data_dir = "data/"
11output_dir = "output/"
12os.makedirs(output_dir, exist_ok=True)
13
14source_path = os.path.join(data_dir, "SampleHtmlForm.html")
15result_path = os.path.join(output_dir, "form-flattened.pdf")
16
17# Load an HTML document
18doc = ah.HTMLDocument(source_path)
19
20# Initialize PdfSaveOptions
21options = sav.PdfSaveOptions()
22options.form_field_behaviour = rp.FormFieldBehaviour.FLATTENED
23
24# Convert HTML to PDF
25conv.Converter.convert_html(doc, options, result_path)

如何将 HTML 转换为 XPS

Aspose.HTML for Python via .NET 支持 HTML 到 XPS 的转换。为此,您应使用 XpsSaveOptions 获得保存选项对象,并将其传递给convert_html()方法:

options = sav.XpsSaveOptions()

使用 XpsSaveOptions 可以自定义渲染过程;您可以指定 page_setupbackground_colorcsshorizontal_resolutionvertical_resolution 属性。

下载 Aspose.HTML for Python via .NET库,即可成功、快速、轻松地将 HTML、MHTML、EPUB、SVG 和 Markdown 文档转换为最流行的格式。

您可以从 GitHub 下载完整的示例和数据文件。

Aspose.HTML 提供免费的在线 HTML 到 PDF 转换器,可将 HTML 高质量、方便快捷地转换为 PDF。只需上传、转换您的文件,几秒钟就能得到结果!

文本 “HTML 到 PDF 转换器”

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.