Convert MHTML to PNG in Python
Converting MHTML to PNG can be helpful in saving the visual representation of web content in an image format. PNG, known for its lossless compression, produces high-quality images without any data loss, making it ideal for archiving, sharing, or embedding web content in other documents or presentations. With Aspose.HTML for Python via .NET, you can convert MHTML to PNG programmatically with full control over a wide range of conversion parameters.
In this article, you find information on how to convert MHTML to PNG by using convert_mhtml() methods of the Converter class, and how to apply ImageSaveOptions.
Online MHTML Converter
You can check the Aspose.HTML API functionality and convert MHTML in real-time. Load an MHTML file from your local file system, select the output format and run the example. The conversion will be performed with default save options. You will immediately receive the result as a separate file.
Convert MHTML to PNG
To convert MHTML to PNG with ImageSaveOptions
specifying, you should follow a few steps:
- Open an existing MHTML file.
- Create a new
ImageSaveOptions object. By default, the
format
property is PNG. Here, you can set the required save options, such as page setup, resolution, etc. - Use one of the convert_mhtml() methods of the Converter class to save MHTML as a PNG image.
The following Python code snippet shows how to convert MHTML to PNG using custom ImageSaveOptions:
1import os
2from aspose.html import *
3from aspose.html.converters import *
4from aspose.html.saving import *
5from aspose.html.drawing import *
6from aspose.pydrawing import *
7
8# Setup directories and define paths
9output_dir = "output/"
10input_dir = "data/"
11if not os.path.exists(output_dir):
12 os.makedirs(output_dir)
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 = ImageSaveOptions()
21 options.page_setup.any_page = Page(drawing.Size(500, 500), Margin(50, 50, 10, 10))
22 options.css.media_type.PRINT
23
24 # Convert MHTML to PNG
25 Converter.convert_mhtml(stream, options, save_path)
In the example, we use:
page_setup
property to specify the page size and margins (top, bottom, left, right);css.media_type
property to specify how CSS media queries are handled during the conversion process.
Save Options – ImageSaveOptions Class
Aspose.HTML for Python via .NET allows converting MHTML to Image using default or custom save options. Here is a description of each ImageSaveOptions property:
- format – This property determines the format of the output image. The supported formats include common image formats like PNG, JPEG, BMP, GIF, and TIFF. The default format is PNG, but you can specify others based on your requirements.
- smoothing_mode – This property controls the quality of graphics rendering during conversion. It affects how images are rendered, which is especially useful for anti-aliasing and achieving smooth and visually appealing output. Options typically include settings for high-quality rendering, which can be critical for professional and presentation-grade images.
- page_setup – You can configure the page layout settings for the output image. This includes specifying the page size and margins (top, bottom, left, right) to control the placement and display of HTML content within the image.
- horizontal_resolution – This property sets or gets the horizontal resolution (in pixels per inch) for both output and internal images used during processing. Higher resolution usually results in a sharper image but can also increase file size. By default, it is 300 dpi.
- vertical_resolution – This property sets or gets the vertical resolution for internal images in pixels per inch. By default, it is 300 dpi.
- background_color – This property allows you to set the background color for the rendered output. If not set, the default background is transparent.
- css – This property, represented by
CssOptions
, allows configuring how CSS properties are processed during the HTML to image conversion. - compression – The compression option allows you to set the compression method for TIFF output. Supported options: LZW, CCITT3, CCITT4, RLE, and NONE. Compression helps reduce file size while maintaining image quality, which is especially important for TIFF files used for high-quality archiving and printing of images.
- text – This property provides configurations for text rendering during HTML to image conversion.
How to Convert MHTML to Images
Aspose.HTML for Python via .NET supports converting MHTML to PNG, JPG, JPEG, BMP, TIFF, and GIF images. You can use the above Python code for this; to set the output image format, you only need to specify the required extension (format) in the output file name and set the format
property for the save options object.
For example, to convert MHTML to GIF, you need:
- to set the format property:
options.format.GIF
; - to set the extension
.gif
in the output image file name:save_path = os.path.join(output_dir, "mhtml-to-image.gif")
.
See Also
Download the Aspose.HTML for Python via .NET library to successfully, quickly, and easily convert your HTML, MHTML, EPUB, SVG, and Markdown documents to the most popular formats.
Visit the Convert HTML to PNG article to learn how to convert HTML to PNG programmatically using the Python library and explore HTML to PNG conversion scenarios with Python examples.
Aspose.HTML offers a free online MHTML to PNG Converter that converts MHTML to PNG image with high quality, easy and fast. Just upload, convert your files and get results in a few seconds!