用 Python 将 MHTML 转换为 PNG

将 MHTML 转换为 PNG 有助于将网页内容的视觉表现保存为图像格式。PNG 以无损压缩著称,能生成高质量的图像而不会丢失任何数据,因此非常适合存档、共享或将网页内容嵌入到其他文档或演示文稿中。使用 Aspose.HTML for Python via .NET,您可以通过编程将 MHTML 转换为 PNG,并完全控制各种转换参数。

本文将介绍如何使用 Converter 类的 convert_mhtml() 方法将 MHTML 转换为 PNG,以及如何应用 ImageSaveOptions

在线 MHTML 转换器

您可以检查 Aspose.HTML API 功能并实时转换 MHTML。从本地文件系统加载 MHTML 文件,选择输出格式并运行示例。转换将以默认保存选项执行。您将立即收到一个单独文件的结果。

                
            

将 MHTML 转换为 PNG

要将 MHTML 转换为 PNG 并指定 “ImageSaveOptions”(图像保存选项),应遵循以下几个步骤:

  1. 打开现有的 MHTML 文件。
  2. 创建一个新的 ImageSaveOptions 对象。默认情况下,“格式 “属性为 PNG。在此,您可以设置所需的保存选项,如页面设置、分辨率等。
  3. 使用转换器类的 convert_mhtml() 方法之一将 MHTML 保存为 PNG 图像。

以下 Python 代码片段展示了如何使用自定义 ImageSaveOptions 将 MHTML 转换为 PNG:

 1# Convert MHTML to PNG using Python with custom settings
 2
 3import os
 4import aspose.html.converters as conv
 5import aspose.html.saving as sav
 6import aspose.html.drawing as dr
 7
 8# Setup directories and define paths
 9output_dir = "output/"
10input_dir = "data/"
11os.makedirs(output_dir, exist_ok=True)
12
13document_path = os.path.join(input_dir, "document.mht")
14save_path = os.path.join(output_dir, "mhtml-to-image.png")
15
16# Open an existing MHTML file for reading
17with open(document_path, "rb") as stream:
18
19    # Create an instance of ImageSaveOptions
20    options = sav.ImageSaveOptions()
21    options.page_setup.any_page = dr.Page(dr.Size(800, 600), dr.Margin(40, 40, 10, 10))
22    options.css.media_type.PRINT
23
24    # Convert MHTML to PNG
25    conv.Converter.convert_mhtml(stream, options, save_path)

在示例中,我们使用

保存选项 – 图像保存选项类

Aspose.HTML for Python via .NET 允许使用默认或自定义保存选项将 MHTML 转换为图像。以下是每个 ImageSaveOptions 属性的说明:

如何将 MHTML 转换为图像

Aspose.HTML for Python via .NET 支持将 MHTML 转换为 PNG、JPG、JPEG、BMP、TIFF 和 GIF 图像。为此,您可以使用上述 Python 代码;要设置输出图像格式,您只需在输出文件名中指定所需的扩展名(格式),并设置保存选项对象的 format 属性。

例如,要将 MHTML 转换为 GIF,您需要

  • 来设置格式属性:options = sav.ImageSaveOptions(rim.ImageFormat.GIF)
  • 在输出图像文件名中设置扩展名 .gifsave_path = os.path.join(output_dir, "mhtml-to-image.gif")

另请参见

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.