Convertir HTML en MHTML en C#
Le MHTML combine du HTML normal avec des ressources externes telles que des images, des animations, du son, etc., dans un fichier portant l’extension .mht. Le MHTML utilise le protocole de messagerie MIME pour combiner les éléments dans un seul fichier d’archive de page web. Avec le MHTML, l’archivage des pages web en ligne devient beaucoup plus facile et moins encombrant.
Dans cet article, vous trouverez des informations sur la manière de convertir HTML en MHTML et d’utiliser MHTMLSaveOptions.
Convertisseur HTML en ligne
Vous pouvez convertir HTML en MHTML avec l’API Aspose.HTML for .NET en temps réel. Commencez par charger un fichier HTML sur votre disque local, puis exécutez l’exemple. Dans cet exemple, les options d’enregistrement sont définies par défaut. Vous recevrez immédiatement le résultat de la conversion dans un fichier séparé.
Si vous souhaitez convertir HTML en MHTML par programme, veuillez consulter les exemples de code C# suivants.
HTML à MHTML par une seule ligne de code
Les méthodes statiques de la classe Converter sont principalement utilisées comme moyen le plus simple de convertir un code HTML dans différents formats. Vous pouvez convertir HTML en MHTML dans votre application C# en une seule ligne de code !
1// Convert HTML to MHTML using C#
2
3// Invoke the ConvertHTML() method to convert HTML to MHTML
4Converter.ConvertHTML(@"<h1>Hellow, Word!</h1>", ".", new MHTMLSaveOptions(), Path.Combine(OutputDir, "convert-with-single-line.mht"));
Convertir HTML en MHTML
La conversion d’un fichier vers un autre format à l’aide de la méthode ConvertHTML() est une séquence d’opérations parmi lesquelles le chargement et l’enregistrement de documents. L’exemple suivant explique comment convertir HTML en MHTML ligne par ligne :
- Charger le fichier HTML à l’aide de la classe HTMLDocument.
- Créer une instance de la classe MHTMLSaveOptions.
- Utilisez la méthode ConvertHTML() de la classe Converter pour enregistrer un document HTML en tant que fichier MHTML. Vous devez transmettre les paramètres HTMLDocument, MHTMLSaveOptions et le chemin du fichier de sortie à la méthode ConvertHTML() pour convertir le HTML en MHTML.
1// Convert HTML to MHTML in C#
2
3// Prepare a path to a source HTML file
4string documentPath = Path.Combine(DataDir, "drawing.html");
5
6// Prepare a path to save the converted file
7string savePath = Path.Combine(OutputDir, "drawing-output.mht");
8
9// Initialize an HTML document from the file
10using HTMLDocument document = new HTMLDocument(documentPath);
11
12// Initialize MHTMLSaveOptions
13MHTMLSaveOptions options = new MHTMLSaveOptions();
14
15// Convert HTML to MHTML
16Converter.ConvertHTML(document, options, savePath);
Sauvegarder les options
Aspose.HTML permet de convertir du HTML en MHTML en utilisant des options d’enregistrement par défaut ou personnalisées. l’utilisation de MHTMLSaveOptions vous permet de personnaliser le processus de rendu ; vous pouvez spécifier la PageUrlRestriction, la ResourceUrlRestriction, la MaxHandlingDepth, etc.
Property | Description |
---|---|
PageUrlRestriction | This property gets or sets restrictions applied to URLs of handled pages. The default value is RootAndSubFolders. |
ResourceUrlRestriction | Gets or sets restrictions applied to URLs of handled resources such as CSS, js, images, etc. The default is SameHost. |
MaxHandlingDepth | Gets or sets the maximum depth of pages that will be handled. |
Pour en savoir plus sur MHTMLSaveOptions, veuillez lire l’article Convertisseurs à réglage fin.
Convertir HTML en MHTML en utilisant MHTMLSaveOptions
Pour convertir HTML en MHTML en spécifiant MHTMLSaveOptions, vous devez suivre quelques étapes :
- Charger ou préparer un fichier HTML.
- Créer un nouvel objet MHTMLSaveOptions.
- Utilisez la méthode ConvertHTML() de la classe Converter pour enregistrer HTML en tant que fichier MHTML. Vous devez transmettre les paramètres HTMLDocument, MHTMLSaveOptions et le chemin du fichier de sortie à la méthode ConvertHTML() pour convertir le HTML en MHTML.
L’exemple suivant montre comment utiliser MHTMLSaveOptions et créer un fichier MHTML avec des options d’enregistrement personnalisées :
1// Convert HTML to MHTML with custom settings using C#
2
3// Prepare HTML code with a link to another file and save it to the file as 'document.html'
4string code = "<span>Hello, World!!</span> " +
5 "<a href='document2.html'>click</a>";
6File.WriteAllText("document.html", code);
7
8// Prepare HTML code and save it to the file as 'document2.html'
9code = @"<span>Hello, World!!</span>";
10File.WriteAllText("document2.html", code);
11
12string savePath = Path.Combine(OutputDir, "output-options.mht");
13
14// Change the value of the resource linking depth to 1 in order to convert document with directly linked resources
15MHTMLSaveOptions options = new MHTMLSaveOptions()
16{
17 ResourceHandlingOptions =
18 {
19 MaxHandlingDepth = 1
20 }
21};
22
23// Convert HTML to MHTML
24Converter.ConvertHTML("document.html", options, savePath);
Le constructeur
MHTMLSaveOptions() initialise une instance de la classe MHTMLSaveOptions qui est passée à la méthode ConvertHTML(). La méthode ConvertHTML() prend le document
, les options
, le chemin du fichier de sortie savePath
et effectue l’opération de conversion. La classe MHTMLSaveOptions fournit de nombreuses propriétés qui vous donnent un contrôle total sur un large éventail de paramètres et améliorent le processus de conversion du HTML au format MHTML.
Dans l’exemple ci-dessus, nous utilisons la propriété MaxHandlingDepth = 1
, ce qui signifie que seules les pages directement référencées dans le document sauvegardé seront traitées.
Vous pouvez télécharger les exemples complets et les fichiers de données sur GitHub.
Aspose.HTML propose un Convertisseur HTML en MHTML gratuit en ligne qui convertit HTML en MHTML avec une grande qualité, facilement et rapidement. Il suffit de télécharger, de convertir vos fichiers et d’obtenir des résultats en quelques secondes !