Convertir MHTML en image en C#
Dans cet article, vous trouverez des informations sur la manière de convertir un fichier MHTML en format de fichier image tel que JPG, PNG, BMP, TIFF ou GIF et sur la manière d’utiliser les paramètres ImageSaveOptions et ICreateStreamProvider.
Convertisseur MHTML en ligne
Vous pouvez vérifier la fonctionnalité de l’API Aspose.HTML et convertir du MHTML en temps réel. Veuillez charger un fichier MHTML à partir d’un système de fichiers local, sélectionnez le format de sortie et exécutez l’exemple. Dans l’exemple, les options d’enregistrement sont définies par défaut. Vous recevrez immédiatement le résultat dans un fichier séparé.
Si vous souhaitez convertir MHTML en formats d’image par programme, veuillez consulter les exemples de code C# suivants.
MHTML vers JPG en deux lignes de code
Les méthodes statiques de la classe Converter sont principalement utilisées comme moyen le plus simple de convertir un fichier MHTML dans différents formats. Vous pouvez convertir un fichier MHTML en JPG dans votre application C# en deux lignes de code !
1// Convert MHTML to JPG in C#
2
3// Open an existing MHTML file for reading
4using FileStream stream = File.OpenRead(DataDir + "sample.mht");
5
6// Invoke the ConvertMHTML() method to convert MHTML to JPG
7Converter.ConvertMHTML(stream, new ImageSaveOptions(ImageFormat.Jpeg), Path.Combine(OutputDir, "convert-by-two-lines.jpg"));
Convertir MHTML en JPG
La conversion d’un fichier vers un autre format à l’aide de la méthode ConvertMHTML() est une séquence d’opérations parmi lesquelles le chargement et l’enregistrement de documents :
- Ouvrir un fichier MHTML existant.
- Créez un nouvel objet
ImageSaveOptions avec
ImageFormat.Jpeg
. Par défaut, la propriété Format est PNG. Ici, vous pouvez définir les options d’enregistrement requises, telles que la mise en page ou la résolution. - Utilisez la méthode ConvertMHTML() de la classe Converter pour enregistrer du MHTML en tant qu’image JPG. Vous devez transmettre le flux de fichiers MHTML, les options ImageSaveOptions et le chemin du fichier de sortie à la méthode ConvertMHTML() pour la conversion MHTML en JPG.
Jetez un coup d’œil à l’extrait de code C# suivant, qui illustre le processus de conversion de MHTML en JPG à l’aide d’Aspose.HTML for .NET.
1// Convert MHTML to JPG using C#
2
3// Open an existing MHTML file for reading
4using FileStream stream = File.OpenRead(DataDir + "sample.mht");
5
6// Create an instance of ImageSaveOptions
7ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg);
8
9// Call the ConvertMHTML() method to convert MHTML to JPG
10Converter.ConvertMHTML(stream, options, Path.Combine(OutputDir, "sample-output.jpg"));
Convertir MHTML en PNG
L’extrait de code C# suivant montre comment convertir du MHTML en PNG. Vous devez suivre quelques étapes :
- Ouvrir un fichier MHTML existant.
- Créez un nouvel objet ImageSaveOptions. Par défaut, la propriété Format est PNG. Vous pouvez y définir les options d’enregistrement requises, telles que la mise en page ou la résolution.
- Utilisez la méthode ConvertMHTML() de la classe Converter pour enregistrer du MHTML en tant qu’image PNG. Vous devez transmettre le flux de fichiers MHTML, les options ImageSaveOptions et le chemin du fichier de sortie à la méthode ConvertMHTML() pour convertir le MHTML en PNG.
L’extrait de code C# suivant montre comment convertir du MHTML en PNG à l’aide d’Aspose.HTML for .NET.
1// Convert MHTML to PNG using C#
2
3// Open an existing MHTML file for reading
4using FileStream stream = File.OpenRead(DataDir + "sample.mht");
5
6// Create an instance of ImageSaveOptions
7ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Png);
8
9// Call the ConvertMHTML() method to convert MHTML to PNG
10Converter.ConvertMHTML(stream, options, Path.Combine(OutputDir, "sample-output.png"));
Convertir MHTML en BMP
L’extrait de code C# suivant montre comment convertir du MHTML en BMP. Vous devez suivre quelques étapes :
- Ouvrir un fichier MHTML existant.
- Créez un nouvel objet
ImageSaveOptions avec
ImageFormat.Bmp
. Par défaut, la propriété Format est PNG. - Utilisez la méthode ConvertMHTML() de la classe Converter pour enregistrer le MHTML en tant qu’image BMP. Vous devez transmettre le flux de fichiers MHTML, les options ImageSaveOptions et le chemin du fichier de sortie à la méthode ConvertMHTML() pour la conversion MHTML en BMP.
Jetez un coup d’œil à l’extrait de code C# suivant, qui illustre le processus de conversion de MHTML en BMP à l’aide d’Aspose.HTML for .NET.
1// Convert MHTML to BMP using C#
2
3// Open an existing MHTML file for reading
4using FileStream stream = File.OpenRead(DataDir + "sample.mht");
5
6// Create an instance of ImageSaveOptions
7ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Bmp);
8
9// Call the ConvertMHTML() method to convert MHTML to BMP
10Converter.ConvertMHTML(stream, options, Path.Combine(OutputDir, "sample-output.bmp"));
Convertir MHTML en GIF
Pour convertir MHTML en GIF, vous devez suivre quelques étapes :
- Ouvrir un fichier MHTML existant.
- Créez un nouvel objet ImageSaveOptions avec GIF ImageFormat. Par défaut, la propriété Format est PNG.
- Utilisez la méthode ConvertMHTML() de la classe Converter pour enregistrer du MHTML en tant qu’image GIF. Vous devez transmettre le flux de fichiers MHTML, les options ImageSaveOptions et le chemin du fichier de sortie à la méthode ConvertMHTML() pour convertir le MHTML en GIF.
Jetez un coup d’œil à l’extrait de code C# suivant, qui illustre le processus de conversion de MHTML en GIF à l’aide d’Aspose.HTML for .NET.
1// Convert MHTML to GIF in C#
2
3// Open an existing MHTML file for reading
4using FileStream stream = File.OpenRead(DataDir + "sample.mht");
5
6// Create an instance of ImageSaveOptions
7ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif);
8
9// Call the ConvertMHTML() method to convert MHTML to GIF
10Converter.ConvertMHTML(stream, options, Path.Combine(OutputDir, "sample-output.gif"));
Convertir MHTML en TIFF
La conversion d’un fichier dans un autre format à l’aide de la méthode ConvertMHTML() est une séquence d’opérations parmi lesquelles le chargement et l’enregistrement de documents. Pour convertir du MHTML en TIFF, vous devez suivre quelques étapes :
- Ouvrir un fichier MHTML existant.
- Créez un nouvel objet ImageSaveOptions avec un format d’image TIFF. Par défaut, la propriété Format est PNG.
- Utilisez la méthode ConvertMHTML() de la classe Converter pour enregistrer du MHTML en tant qu’image TIFF. Vous devez transmettre le flux de fichiers MHTML, les options ImageSaveOptions et le chemin du fichier de sortie à la méthode ConvertMHTML() pour convertir le MHTML en TIFF.
Jetez un coup d’œil à l’extrait de code C# suivant, qui illustre le processus de conversion de MHTML en TIFF à l’aide d’Aspose.HTML for .NET.
1// Convert MHTML to TIFF in C#
2
3// Open an existing MHTML file for reading
4using FileStream stream = File.OpenRead(DataDir + "sample.mht");
5
6// Prepare a path to save the converted file
7string savePath = Path.Combine(OutputDir, "sample-options.tiff");
8
9// Create an instance of ImageSaveOptions
10ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Tiff);
11
12// Call the ConvertMHTML() method to convert MHTML to TIFF
13Converter.ConvertMHTML(stream, options, savePath);
Sauvegarder les options
Aspose.HTML permet de convertir du MHTML en image en utilisant des options d’enregistrement par défaut ou personnalisées. l’utilisation de ImageSaveOptions vous permet de régler le processus de rendu. Vous pouvez spécifier le image format, la page size, les margins, le CSS media-type, etc.
Property | Description |
---|---|
Compression | Sets Tagged Image File Format (TIFF) Compression. By default, this property is LZW. |
CSS | Gets a CssOptions object which is used for configuration of CSS properties processing. |
Format | Sets the ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default, this property is PNG. |
BackgroundColor | This property sets the color that will fill the background. By default, this property is Transparent. |
PageSetup | This property gets a page setup object and uses it for configuration output page-set. |
HorizontalResolution | Sets horizontal resolution for output images in pixels per inch. The default value is 300 dpi. |
VerticalResolution | Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi. |
UseAntialiasing | This property sets the rendering quality for this image. Available values are Invalid, Default, HighSpeed, HighQuality, None, and AntiAlias. |
Text | Gets a TextOptions object which is used for configuration of text rendering. |
Pour en savoir plus sur la classe ImageSaveOptions, veuillez lire l’article Convertisseurs à réglage fin.
Convertir MHTML en JPG en utilisant ImageSaveOptions
Pour convertir du MHTML en JPG en spécifiant ImageSaveOptions, vous devez suivre quelques étapes :
- Ouvrir un fichier MHTML existant.
- Créez un nouvel objet ImageSaveOptions avec le format d’image JPG et spécifiez les options d’enregistrement. Par défaut, la propriété Format est PNG.
- Utilisez la méthode ConvertMHTML() de la classe Converter pour enregistrer du MHTML sous forme d’image JPG.
La classe ImageSaveOptions fournit de nombreuses propriétés qui vous permettent de contrôler entièrement un large éventail de paramètres et d’améliorer le processus de conversion de MHTML en formats d’image. L’extrait de code C# suivant montre comment convertir du MHTML en JPG à l’aide d’options d’enregistrement personnalisées :
1// Convert MHTML to JPG in C# with custom settings
2
3// Open an existing MHTML file for reading
4using FileStream stream = File.OpenRead(DataDir + "sample.mht");
5
6// Prepare a path to save the converted file
7string savePath = Path.Combine(OutputDir, "sample-options.jpg");
8
9// Initailize the ImageSaveOptions with a custom page-size and a background color
10ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg)
11{
12 PageSetup =
13 {
14 AnyPage = new Page()
15 {
16 Size = new Aspose.Html.Drawing.Size(Length.FromPixels(1000), Length.FromPixels(500))
17 }
18 },
19 BackgroundColor = System.Drawing.Color.Beige
20};
21
22// Call the ConvertMHTML() method to convert MHTML to JPG
23Converter.ConvertMHTML(stream, options, savePath);
Le constructeur
ImageSaveOptions() initialise une instance de la classe ImageSaveOptions qui est passée à la méthode ConvertMHTML(). La méthode ConvertHTML() prend le stream
, les options
, le chemin du fichier de sortie savePath
et effectue l’opération de conversion.
Dans l’exemple, nous utilisons :
- propriété
BackgroundColor
qui spécifie la couleur dans laquelle l’arrière-plan sera rempli. La couleur d’arrière-plan par défaut estTransparent
. - propriété
PageSetup
qui spécifie la taille de la page de l’image JPG.
Fournisseurs de flux de sortie
S’il est nécessaire d’enregistrer des fichiers dans un espace de stockage distant (par exemple, un nuage, une base de données, etc.), vous pouvez mettre en œuvre l’interface ICreateStreamProvider pour contrôler manuellement le processus de création de fichiers. Cette interface est conçue comme un objet de rappel pour créer un flux au début du document/de la page (en fonction du format de sortie) et libérer le flux créé au début après le rendu du document/de la page.
Aspose.HTML for .NET fournit différents types de formats de sortie pour les opérations de rendu. Certains de ces formats produisent un seul fichier de sortie (par exemple PDF, XPS), d’autres créent plusieurs fichiers (formats d’image JPG, PNG, etc.)
L’exemple ci-dessous montre comment mettre en œuvre et utiliser votre propre MemoryStreamProvider dans l’application :
1// Implement a custom MemoryStream provider for advanced control over HTML rendering output streams
2
3class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider
4{
5 // List of MemoryStream objects created during the document rendering
6 public List<MemoryStream> Streams { get; } = new List<MemoryStream>();
7
8 public Stream GetStream(string name, string extension)
9 {
10 // This method is called when only one output stream is required, for instance for XPS, PDF or TIFF formats
11 MemoryStream result = new MemoryStream();
12 Streams.Add(result);
13 return result;
14 }
15
16 public Stream GetStream(string name, string extension, int page)
17 {
18 // This method is called when the creation of multiple output streams are required. For instance, during the rendering HTML to list of image files (JPG, PNG, etc.)
19 MemoryStream result = new MemoryStream();
20 Streams.Add(result);
21 return result;
22 }
23
24 public void ReleaseStream(Stream stream)
25 {
26 // Here you can release the stream filled with data and, for instance, flush it to the hard-drive
27 }
28
29 public void Dispose()
30 {
31 // Releasing resources
32 foreach (MemoryStream stream in Streams)
33 stream.Dispose();
34 }
35}
1// Convert MHTML to JPG in C# using memory stream
2
3// Create an instance of MemoryStreamProvider
4using MemoryStreamProvider streamProvider = new MemoryStreamProvider();
5
6// Open an existing MHTML file for reading
7using FileStream stream = File.OpenRead(DataDir + "sample.mht");
8
9// Prepare a path to save the converted file
10string savePath = Path.Combine(OutputDir, "stream-provider.jpg");
11
12// Convert MHTML to JPG by using the MemoryStreamProvider class
13Converter.ConvertMHTML(stream, new ImageSaveOptions(ImageFormat.Jpeg), streamProvider);
14
15// Get access to the memory streams that contain the resulted data
16for (int i = 0; i < streamProvider.Streams.Count; i++)
17{
18 MemoryStream memory = streamProvider.Streams[i];
19 memory.Seek(0, SeekOrigin.Begin);
20
21 // Flush the page to the output file
22 using (FileStream fs = File.Create(savePath))
23 {
24 memory.CopyTo(fs);
25 }
26}
Vous pouvez télécharger les exemples complets et les fichiers de données sur GitHub.
Téléchargez la bibliothèque Aspose.HTML for .NET pour convertir avec succès, rapidement et facilement vos documents HTML, MHTML, EPUB, SVG et Markdown vers les formats les plus populaires.
Aspose.HTML propose un Convertisseur MHTML en JPG en ligne gratuit qui convertit les fichiers MHTML en images JPG de haute qualité, facilement et rapidement. Il suffit de télécharger, de convertir vos fichiers et d’obtenir des résultats en quelques secondes !