HTML-Dokument in Java speichern
Das Paket aspose.html.Saving wird von Datenklassen für eine Beschreibung spezifischer Speicheroptionen beim Konvertierungs- und Speicherprozess präsentiert. Nachdem Sie mit einer HTML-Datei gearbeitet oder ein HTML-Dokument von Grund auf neu erstellt haben, können Sie Änderungen mit einer der Methoden HTMLDocument.save() speichern. Die Java-Bibliothek stellt die Klassen [SaveOptions]https://reference.aspose.com/html/java/com.aspose.html.saving/saveoptions/ und ResourceHandlingOptions zur Verfügung, mit denen Sie Optionen für Speichervorgänge festlegen können.
Die Aspose.HTML for Java-Bibliothek hat zwei unterschiedliche Konzepte für die Erstellung der Ausgabedateien:
- Das erste Konzept basiert auf der Erstellung von HTML-ähnlichen Dateien als Ausgabe - HTML, MHTML, Markdown und SVG-Dateien. Die SaveOptions ist eine Basisklasse für diesen Ansatz, die den Speichervorgang der zugehörigen Ressourcen wie Skripte, Stile, Bilder usw. unterstützt.
- Das zweite Konzept könnte verwendet werden, um HTML als Ergebnis visuell darzustellen. Die Basisklasse für dieses Konzept ist RenderingOptions; sie verfügt über spezielle Methoden zur Angabe der Seitengröße, der Seitenränder, der Auflösung, der Benutzerstile usw.
Dieser Artikel beschreibt nur, wie man die Klasse SaveOptions
und die Methoden save()
zum Speichern von HTML-Dokumenten verwendet. Um mehr über den Rendering-Mechanismus zu erfahren, lesen Sie bitte den Artikel
Feinabstimmungskonverter.
HTML speichern
Wenn Sie Ihre Änderungen in HTML abgeschlossen haben, sollten Sie das Dokument mit einer der Methoden HTMLDocument.save() speichern. Das folgende Beispiel ist der einfachste Weg, eine HTML-Datei zu speichern:
1// Initialize an empty HTML document
2HTMLDocument document = new HTMLDocument();
3
4// Create a text node and add it to the document
5Text text = document.createTextNode("Hello, World!");
6document.getBody().appendChild(text);
7
8// Save the HTML document to a file
9document.save("save-to-file.html");
Das obige Beispiel ist recht einfach. In realen Anwendungen benötigen Sie jedoch oft zusätzliche Kontrolle über den Speichervorgang. In den nächsten Abschnitten wird beschrieben, wie Sie die Optionen zur Ressourcenbehandlung nutzen oder Ihr Dokument in den verschiedenen Formaten speichern können.
HTML in Datei speichern
Der folgende Codeschnipsel zeigt, wie man ResourceHandlingOptions verwendet, um verknüpfte Dokumente zu verwalten. Wir erstellen eine einfache HTML-Datei von Grund auf mit einem verknüpften Dokument namens “linked.html” im Beispiel.
Um die Speicheroptionen anzuwenden, verwenden wir den Konstruktor HTMLSaveOptions(), um eine Instanz der Klasse
HTMLSaveOptions zu erzeugen. Dann setzen wir mit der Methode getResourceHandlingOptions()
die maximale Behandlungstiefe für verknüpfte Ressourcen in den Speicheroptionen auf 1. Das bedeutet, dass das Speichern des HTML-Dokuments das Hauptdokument und alle direkt verknüpften Ressourcen bis zu einer Tiefe von 1 umfasst. Und schließlich rufen wir die Methode save(path, options)
des Dokumentobjekts zusammen mit den angegebenen Speicheroptionen auf.
1// Prepare a simple HTML file with a linked document
2java.nio.file.Files.write(
3 java.nio.file.Paths.get("save-with-linked-file.html"),
4 "<p>Hello, World!</p><a href='linked.html'>linked file</a>".getBytes());
5
6// Prepare a simple linked HTML file
7java.nio.file.Files.write(java.nio.file.Paths.get(
8 "linked.html"),
9 "<p>Hello, linked file!</p>".getBytes());
10
11// Load the "save-with-linked-file.html" into memory
12HTMLDocument document = new HTMLDocument("save-with-linked-file.html");
13
14// Create an instance of the HTMLSaveOptions class
15HTMLSaveOptions options = new HTMLSaveOptions();
16
17// The following line with the value "0" cuts off all other linked HTML-files while saving this instance
18// If you remove this line or change the value to "1", the "linked.html" file will be saved as well to the output folder
19options.getResourceHandlingOptions().setMaxHandlingDepth(1);
20
21// Save the document with the save options
22document.save("save-with-linked-file_out.html", options);
HTML in MHTML speichern
In manchen Fällen müssen Sie Ihr HTML-Dokument als eine einzige MHTML-Datei speichern. das Dokument MHTML kann für diesen Zweck sehr nützlich sein, da es ein Webseitenarchiv ist und alles in sich selbst speichert. Das HTMLSaveFormat gibt das Format an, in dem das Dokument gespeichert wird, es können die Formate HTML, MHTML und MD sein. Das folgende Beispiel zeigt, wie die Methode save(path, saveFormat) zum Speichern von HTML in MHTML verwendet wird.
1// Prepare a simple HTML file with a linked document
2java.nio.file.Files.write(
3 java.nio.file.Paths.get("document.html"),
4 "<p>Hello, World!</p><a href='linked-file.html'>linked file</a>".getBytes());
5
6// Prepare a simple linked HTML file
7java.nio.file.Files.write(
8 java.nio.file.Paths.get("linked-file.html"),
9 "<p>Hello, linked file!</p>".getBytes());
10
11// Load the "document.html" into memory
12HTMLDocument document = new HTMLDocument("document.html");
13
14// Save the document to MHTML format
15document.save("save-to-MTHML.mht", HTMLSaveFormat.MHTML);
Wie beim Beispiel HTML to File können Sie auch MHTMLSaveOptions verwenden und die gewünschten Bearbeitungsoptionen anpassen.
HTML in Markdown speichern
Markdown ist eine Auszeichnungssprache mit Klartext-Syntax. Um Markdown-Dateien mit Aspose.HTML zu erstellen, sehen Sie sich bitte das folgende Beispiel an:
1// Prepare HTML code
2String html_code = "<H2>Hello, World!</H2>";
3
4// Initialize a document from a string variable
5HTMLDocument document = new HTMLDocument(html_code);
6
7// Save the document as a Markdown file
8document.save("save-to-MD.md", HTMLSaveFormat.Markdown);
Aspose.HTML for Java bietet neben der Funktion zum Speichern von HTML zu Markdown auch einen HTML zu Markdown Konverter. Weitere Informationen zur Verwendung des Markdown-Konverters finden Sie im Artikel HTML to Markdown.
SVG speichern
Normalerweise sehen Sie das SVG-Dokument als Teil einer HTML-Datei; es stellt die Vektordaten auf der Seite dar: Bilder, Icons, Tabellen usw. SVG kann jedoch auch aus der Webseite extrahiert werden, und Sie können es ähnlich wie das HTML-Dokument bearbeiten. Da
SVGDocument und
HTMLDocument auf demselben
WHATWG DOM Standard basieren, sind alle Vorgänge wie Laden, Lesen, Bearbeiten, Konvertieren und Speichern für beide Dokumente ähnlich. Daher sind alle Beispiele, in denen Sie Manipulationen mit HTMLDocument
sehen können, auch auf SVGDocument
anwendbar.
Um Ihre Änderungen in SVG zu speichern, gehen Sie bitte wie folgt vor:
1// Prepare SVG code
2String code = "<svg xmlns='http://www.w3.org/2000/svg' height='200' width='300'>" +
3 "<g fill='none' stroke-width= '10' stroke-dasharray='30 10'>" +
4 "<path stroke='red' d='M 25 40 l 215 0' />" +
5 "<path stroke='black' d='M 35 80 l 215 0' />" +
6 "<path stroke='blue' d='M 45 120 l 215 0' />" +
7 "</g>" +
8 "</svg>";
9
10// Initialize an SVG instance from the content string
11SVGDocument document = new SVGDocument(code, ".");
12
13// Save the SVG file to disk
14document.save("save-to-SVG.svg");
Fazit
Das Paket aspose.html.Saving ermöglicht Entwicklern, den Speichervorgang von HTML- und SVG-Dokumenten mithilfe erweiterter Optionen wie
SaveOptions
undResourceHandlingOptions
anzupassen und zu optimieren. Mit diesen Klassen können Sie verknüpfte Ressourcen effizient verwalten, bestimmte Ausgabeformate auswählen und den Speichervorgang an die Anforderungen Ihrer Anwendung anpassen.Aspose.HTML for Java ermöglicht das Speichern von HTML-Dokumenten in verschiedenen Formaten, darunter HTML, MHTML und Markdown, und bietet präzise Kontrolle und Einfachheit.
Die Beispiele in diesem Artikel veranschaulichen die Einfachheit und Leistungsfähigkeit von Speichervorgängen. Weitere Informationen zu Rendering-Optionen und anderen erweiterten Funktionen finden Sie im Artikel Feinabstimmungskonverter.
Die vollständigen Beispiele und Datendateien können Sie unter GitHub herunterladen.