Ein Dokument in Python mit Aspose.HTML erstellen – HTML, SVG, MHTML, EPUB erstellen oder laden

Dieser Artikel bietet eine detaillierte Anleitung zur Erstellung eines HTML-Dokuments mit Aspose.HTML for Python via .NET API. Die API bietet die Klasse HTMLDocument, die die Wurzel der HTML-Hierarchie ist und den gesamten Inhalt enthält. Diese Klasse verfügt über eine Reihe von Konstruktoren, mit denen Sie HTML-Dokumente auf unterschiedliche Weise erstellen oder laden können. HTML-Dokumente können von Grund auf als leeres Dokument mit einer HTML-Struktur, aus einer Zeichenkette, aus einem Speicherstrom oder durch Laden aus einer Datei oder URL erstellt werden.

HTML-Dokument

Das HTMLDocument ist ein Ausgangspunkt für die Aspose.HTML Python Bibliothek. Sie können das HTML-Dokument in das Document Object Model (DOM) laden, indem Sie einen der HTMLDocument()-Konstruktoren verwenden und dann programmatisch lesen, den Dokumentenbaum ändern, Knoten hinzufügen und entfernen, die Knoteneigenschaften im Dokument ändern, wie es in den offiziellen Spezifikationen beschrieben ist.

Die Klasse “HTMLDocument” bietet eine speicherinterne Darstellung eines HTML DOM, die vollständig mit den W3C DOM und WHATWG DOM Spezifikationen konform ist. Wenn Sie mit den WHATWG DOM, WHATWG HTML und JavaScript Standards vertraut sind, wird die Verwendung der Aspose.HTML for Python via .NET API recht komfortabel und einfach sein.

Ein leeres HTML-Dokument erstellen

Der folgende Python-Codeausschnitt zeigt die Verwendung des Standard- HTMLDocument()-Konstruktors, um ein leeres HTML-Dokument zu erstellen und es in einer Datei zu speichern.

 1# Create an empty HTML document in Python
 2
 3import os
 4import aspose.html as ah
 5
 6# Prepare the output path
 7output_dir = "output"
 8os.makedirs(output_dir, exist_ok=True)
 9save_path = os.path.join(output_dir, "document-empty.html")
10
11# Create and save an empty HTML document
12with ah.HTMLDocument() as document:
13    # Work with the document here
14    document.save(save_path)

Nach der Erstellung erscheint die Datei document-empty.html mit der anfänglichen Dokumentstruktur: Das leere Dokument enthält Elemente wie <html> <head> und <body>. Sobald das Dokumentobjekt erstellt ist, kann es später mit HTML-Elementen gefüllt werden.

Ein neues HTML-Dokument erstellen

Wenn Sie ein HTML-Dokument von Grund auf programmatisch erstellen möchten, verwenden Sie bitte den Konstruktor ohne Parameter, wie im folgenden Codeschnipsel angegeben:

 1# Create an HTML document in Python using the DOM
 2
 3import os
 4import aspose.html as ah
 5
 6# Prepare the output path
 7output_dir = "output"
 8os.makedirs(output_dir, exist_ok=True)
 9document_path = os.path.join(output_dir, "create-new-document.html")
10
11# Create an empty HTML document
12with ah.HTMLDocument() as document:
13    # Create a text node and add it to the document
14    text = document.create_text_node("Hello, World!")
15    document.body.append_child(text)
16
17    # Save the HTML document
18    document.save(document_path)

Im neuen Dokument haben wir mit der Methode create_text_node() einen Textknoten mit der angegebenen Zeichenkette erstellt und ihn mit der Methode append_child() zum Element <body> hinzugefügt.

Wie man eine HTML-Datei bearbeitet, wird im Artikel HTML-Dokument bearbeiten ausführlich beschrieben.

Weitere Einzelheiten zum Speichern von HTML-Dateien finden Sie im Artikel HTML-Dokument speichern.

HTML aus einer Datei laden

Wenn Sie eine vorhandene HTML-Datei aus einer Datei laden, bearbeiten und speichern möchten, hilft Ihnen der folgende Codeschnipsel:

 1# Load an HTML file in Python
 2
 3import os
 4import aspose.html as ah
 5
 6# Prepare input and output paths
 7output_dir = "output"
 8input_dir = "data"
 9os.makedirs(output_dir, exist_ok=True)
10
11document_path = os.path.join(input_dir, "document.html")
12save_path = os.path.join(output_dir, "document-edited.html")
13
14# Load, process, and save the HTML document
15with ah.HTMLDocument(document_path) as document:
16    # Work with the document here
17    document.save(save_path)

Im obigen Beispiel richtet der Python-Code Verzeichnisse und Pfade zum Lesen eines HTML-Dokuments aus dem Verzeichnis “data” und zum Speichern einer bearbeiteten Version im Verzeichnis “output” ein. Er initialisiert das HTML-Dokument aus der angegebenen Datei, verarbeitet es und speichert dann das bearbeitete Dokument in dem angegebenen Ausgabepfad.

HTML von einer URL laden

Eine der meistgenutzten Funktionen des Internets ist die Möglichkeit, Dateien auszuwählen und mit ihnen auf dem lokalen Gerät des Benutzers zu interagieren. Im nächsten Python-Codefragment sehen Sie, wie eine Webseite in das HTMLDocument geladen wird.

Wenn Sie eine falsche URL übergeben, die im Moment nicht erreichbar ist, löst die Bibliothek die PlatformException mit dem speziellen Code NetworkError aus, um Sie zu informieren, dass die ausgewählte Ressource nicht gefunden werden kann.

1# Load HTML from a URL in Python
2
3import aspose.html as ah
4
5# Load the web page and print its HTML
6with ah.HTMLDocument("https://docs.aspose.com/html/files/aspose.html") as document:
7    print(document.document_element.outer_html)

Im obigen Beispiel haben wir die Datei document.html angegeben, die von der URL geladen werden soll.

Laden aus HTML-Code

Falls Ihr HTML-Code verknüpfte Ressourcen (Stile, Skripte, Bilder usw.) enthält, müssen Sie dem Konstruktor des Dokuments einen gültigen Parameter base_uri übergeben. Er wird verwendet, um den Speicherort der Ressource während des Ladens des Dokuments aufzulösen.

HTML aus einem String laden

Sie können ein Dokument aus einem String-Inhalt erstellen, indem Sie einen der HTMLDocument() Konstruktoren verwenden. Wenn Sie ein Dokument aus einem Benutzerstring direkt in Ihrem Code erstellen und in einer Datei speichern möchten, könnte Ihnen das folgende Beispiel helfen. Wir erstellen ein HTML-Dokument, das den Text “Hello, World!” enthält

 1# Create an HTML document from a string in Python
 2
 3import os
 4import aspose.html as ah
 5
 6# Define the HTML content
 7html_code = "<p>Hello, World!</p>"
 8
 9# Prepare the output path
10output_dir = "output"
11os.makedirs(output_dir, exist_ok=True)
12save_path = os.path.join(output_dir, "create-html-from-string.html")
13
14# Create an HTML document from the string and save it
15with ah.HTMLDocument(html_code, ".") as document:
16    document.save(save_path)

HTML aus einem Stream laden

Wenn Sie einen HTML-Code als speicherinterne io.BytesIO-Objekte vorbereiten, brauchen Sie diese nicht in der Datei zu speichern, sondern übergeben Ihren HTML-Code einfach an spezielle Konstruktoren. Im folgenden Beispiel wird zur Erstellung eines HTML-Dokuments aus einem Stream der Konstruktor HTMLDocument(content, base_uri) verwendet:

 1# Load HTML from a stream in Python
 2
 3import os
 4import io
 5import aspose.html as ah
 6
 7# Prepare the output path
 8output_dir = "output"
 9os.makedirs(output_dir, exist_ok=True)
10save_path = os.path.join(output_dir, "load-from-stream.html")
11
12# Define the base URI for relative resources
13base_uri = "."
14
15# Load HTML from a memory stream and save it
16with io.BytesIO(b"<p>Hello, World!</p>") as content_stream:
17    with ah.HTMLDocument(content_stream, base_uri) as document:
18        document.save(save_path)

die Funktion io.BytesIO erzeugt ein Stream-Objekt, das sich vollständig im Speicher befindet. Dies ist nützlich für die temporäre Datenspeicherung, ohne auf die Festplatte schreiben zu müssen.

SVG-Dokument

Scalable Vector Graphics (SVG) ist Teil des [W3C]-Standards(16) und kann in ein HTMLDokument eingebettet werden; wir haben die Klasse SVGDocument mit voller SVG-Funktionalität auf der Grundlage der offiziellen SVG2-Spezifikation implementiert. Damit können Sie SVG-Dokumente in Übereinstimmung mit dem Standard laden, lesen und bearbeiten.

Da sowohl SVGDocument als auch HTMLDocument auf demselben WHATWG DOM-Standard basieren, sind Vorgänge wie das Laden, Lesen, Bearbeiten, Konvertieren und Speichern für beide Arten von Dokumenten ähnlich. Daher gelten alle Beispiele, die die Manipulation mit HTMLDocument zeigen, auch für SVGDocument.

Sie können ein Dokument aus einem String-Inhalt erstellen, indem Sie den entsprechenden SVGDocument() Konstruktor verwenden. Wenn Sie ein SVG-Dokument aus einer content_stream-Variablen in den Speicher laden wollen und es nicht in einer Datei speichern müssen, zeigt das folgende Beispiel, wie das geht:

 1# Create an SVG document from a string in Python
 2
 3import io
 4import aspose.html.dom.svg as ahsvg
 5
 6# Define the SVG content
 7svg_content = "<svg xmlns='http://www.w3.org/2000/svg'><circle cx='50' cy='50' r='40'/></svg>"
 8base_uri = "."
 9
10# Create an SVG document from a memory stream
11with io.BytesIO(svg_content.encode("utf-8")) as content_stream:
12    with ahsvg.SVGDocument(content_stream, base_uri) as document:
13        # Print and save the SVG document
14        print(document.document_element.outer_html)
15        document.save("load-from-stream.svg")

Im obigen Beispiel haben wir das SVG-Dokument erstellt, das einen Kreis mit einem Radius von 50 Pixeln enthält. Mehr über die Arbeit mit SVG-Dokumenten erfahren Sie in der Dokumentation Aspose.SVG for Python via .NET.

MHTML-Dokument

MHTML ist ein Format zur Archivierung von Webseiten. Es bündelt den HTML-Inhalt einer Webseite zusammen mit allen zugehörigen Ressourcen, wie CSS, JavaScript, Bilder und Audiodateien, in einer einzigen Datei. MHTML wird häufig von Webentwicklern verwendet, um einen Schnappschuss einer Webseite für Archivierungszwecke zu speichern. Die Aspose.HTML Python-Bibliothek unterstützt nur das Rendern/Konvertieren von MHTML-Dateien in verschiedene Ausgabeformate. Weitere Informationen finden Sie in dem Artikel Konvertierung zwischen Formaten.

EPUB-Dokument

EPUB ist ein weithin unterstütztes Format für eBooks und elektronische Publikationen, das mit den meisten Lesegeräten kompatibel ist, darunter Smartphones, Tablets und Computer. Ähnlich wie MHTML unterstützt Aspose.HTML nur das Rendern von EPUB-Dateien in verschiedene Ausgabeformate. Weitere Details finden Sie im Artikel Konvertierung zwischen Formaten.

Laden Sie die Bibliothek Aspose.HTML for Python via .NET herunter, um Ihre HTML-Dokumente erfolgreich, schnell und einfach zu bearbeiten. Die Python-Bibliothek kann HTML-Dokumente erstellen, ändern, Daten extrahieren, konvertieren und rendern, ohne dass Sie externe Software benötigen. Sie unterstützt gängige Dateiformate wie EPUB, MHTML, XML, SVG und Markdown und kann in die Dateiformate PDF, DOCX, XPS und Image gerendert werden.

Aspose.HTML bietet einen kostenlosen Online- HTML-Konverter zur Konvertierung von HTML-Dokumenten in eine Vielzahl von gängigen Formaten. Laden Sie einfach HTML aus einer Datei oder einer URL, wählen Sie das zu konvertierende Format, und schon sind Sie fertig. Das geht schnell und ist völlig kostenlos!