Convertir HTML en MHTML en Java
Les fichiers HTML renvoient souvent à des ressources externes telles que des images, des vidéos, des fichiers audio et d’autres documents en spécifiant leur URL. Si vous souhaitez archiver ou enregistrer une page web contenant de telles ressources externes, vous devez les enregistrer séparément avec le fichier HTML, ce qui rend les choses un peu compliquées et encombrées. Le MHTML est un format de fichier qui combine le HTML et les ressources externes dans un seul fichier .mht. Le MHTML utilise le protocole de messagerie MIME pour combiner les éléments de la page web dans un seul fichier d’archive, ce qui facilite l’archivage des pages web.
Cet article explique comment convertir du HTML en MHTML à l’aide de la bibliothèque Aspose.HTML for Java et comment appliquer les MHTMLSaveOptions.
HTML à MHTML par une seule ligne de code Java
Les méthodes statiques de la classe Converter sont principalement utilisées comme moyen le plus simple de convertir un code HTML en différents formats. Vous pouvez convertir HTML en MHTML dans votre application Java littéralement avec une seule ligne de code !
1// Invoke the convertHTML() method to convert HTML code to MHTML file
2Converter.convertHTML("<h1>Hello, Word!</h1>", ".", new MHTMLSaveOptions(), "convert-with-single-line.mht");
Dans l’exemple, nous utilisons la méthode convertHTML(content, baseUri, options, outputPath)
de la classe
Converter qui prend quatre paramètres : une chaîne avec le code HTML à convertir, le dossier de base pour le fichier HTML d’entrée, une instance de la classe MHTMLSaveOptions
et le chemin du fichier de sortie où le fichier converti sera sauvegardé.
Convertir HTML en MHTML en Java
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 :
- Chargement d’un fichier HTML à l’aide de la classe HTMLDocument.
- Créer une instance de la classe MHTMLSaveOptions.
- Utilisez la méthode
convertHTML(document, options, savePath)
de la classe Converter et passez-lui les paramètres requis.
1// Initialize an HTML document from the file
2HTMLDocument document = new HTMLDocument("drawing.html");
3
4// Initialize MHTMLSaveOptions
5MHTMLSaveOptions options = new MHTMLSaveOptions();
6
7// Convert HTML to MHTML
8Converter.convertHTML(document, options, "drawing-output.mht");
Vous pouvez télécharger les exemples complets et les fichiers de données à partir de GitHub.
Convertir HTML en MHTML en utilisant MHTMLSaveOptions
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 UrlRestriction, la MaxHandlingDepth, etc. Pour convertir HTML en MHTML en spécifiant MHTMLSaveOptions, vous devez suivre quelques étapes :
- Charger ou préparer un fichier HTML. Dans cet exemple, nous créons un fichier HTML source à partir de zéro.
- Créer un nouvel objet MHTMLSaveOptions.
- Utilisez l’une des méthodes
convertHTML()
de la classe Converter pour enregistrer un document HTML dans un fichier MHTML.
1// Prepare HTML code with a link to another file and save it to the file as "document.html"
2String code = "<span>Hello, World!!</span> " +
3 "<a href='document2.html'>click</a>";
4FileHelper.writeAllText("document.html", code);
5
6// Prepare HTML code and save it to the file as "document2.html"
7code = "<span>Hello, World!!</span>";
8FileHelper.writeAllText("document2.html", code);
9
10// Change the value of the resource linking depth to 1 in order to convert document with directly linked resources
11MHTMLSaveOptions options = new MHTMLSaveOptions();
12options.getResourceHandlingOptions().setMaxHandlingDepth(1);
13
14// Convert HTML to MHTML
15Converter.convertHTML("document.html", options, "output-options.mht");
Le constructeur
MHTMLSaveOptions() initialise une instance de la classe MHTMLSaveOptions
qui est passée à la méthode convertHTML()
. La méthode prend le document
, les options
, le chemin du fichier de sortie savePath
et effectue la conversion. Dans l’exemple ci-dessus, nous utilisons la méthode setMaxHandlingDepth(value)
qui définit la profondeur maximale de la ressource qui sera traitée. La valeur = 1 signifie que seules les pages directement référencées dans le document sauvegardé seront traitées. La valeur par défaut est 3.
Conclusion
Le MHTML simplifie le processus d’archivage et de partage des pages web en combinant le HTML et toutes les ressources externes dans un seul fichier, éliminant ainsi la complexité de la gestion des fichiers individuels. Aspose.HTML for Java offre une solution simple pour convertir HTML en MHTML en utilisant les classes Converter
et MHTMLSaveOptions
.
Grâce à ses fonctions personnalisables, vous pouvez :
- Convertissez facilement du contenu HTML avec un minimum de code.
- Contrôler la profondeur du traitement des ressources pour les actifs liés.
- Personnaliser les options d’enregistrement pour répondre à des besoins spécifiques.
Les exemples Java fournis démontrent des scénarios de base et avancés, permettant aux développeurs de mettre en œuvre efficacement la conversion HTML vers MHTML dans leurs applications Java.
Pour en savoir plus sur MHTMLSaveOptions, veuillez lire l’article Convertisseurs à réglage fin.
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 !