HTML-Dokument in Python speichern

Wie man HTML in Python speichert

Dieser Artikel bietet eine detaillierte Anleitung zum Speichern eines HTML-Dokuments mit Aspose.HTML for Python via .NET API. Nachdem Sie mit HTML-Dokumenten gearbeitet haben, können Sie die Änderungen mit einer der Methoden HTMLDocument.save() speichern. Es gibt Methoden, um ein Dokument in einer Datei oder URL zu speichern.

Bitte beachten Sie, dass Aspose.HTML for Python via .NET zwei verschiedene Ansätze für die Erstellung der Ausgabedateien bietet:

  1. HTML-basierter Ansatz: Bei dieser Methode werden HTML-ähnliche Dateien als Ausgabe erzeugt. Es wird die Klasse SaveOptions verwendet, die als Grundlage für die Verwaltung des Speichervorgangs von zugehörigen Ressourcen wie Skripten, Stilen und Bildern dient. Die Klasse ResourceHandler ist für die Handhabung dieser Ressourcen zuständig. Sie wurde entwickelt, um HTML-Inhalte und zugehörige Ressourcen in Streams zu speichern, und bietet Methoden, mit denen Sie steuern können, was mit der Ressource geschehen soll.

  2. Visueller Darstellungsansatz: Diese Methode konzentriert sich auf die Erstellung einer visuellen Darstellung von HTML. Er basiert auf der Klasse RenderingOptions, die spezielle Methoden zur Definition von Seitengröße, Rändern, Auflösung, Benutzerstilen und mehr bietet.

Dieser Artikel behandelt die Verwendung der Klassen SaveOptions und ResourceHandler.

HTML speichern

Wenn Sie Ihre Änderungen an Ihrem HTML-Dokument abgeschlossen haben, möchten Sie es vielleicht speichern. Dies können Sie mit einer der Methoden save() tun, die von der Klasse HTMLDocument bereitgestellt werden. Hier ist ein einfaches Python-Beispiel zum Speichern einer HTML-Datei:

 1import os
 2from aspose.html import *
 3
 4# Prepare an output path for saving the document
 5output_dir = "output/"
 6if not os.path.exists(output_dir):
 7    os.makedirs(output_dir)
 8
 9document_path = os.path.join(output_dir, "create-new-document.html")
10
11# Initialize an empty HTML document
12with 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 document to a file
18    document.save(document_path)

Im obigen Beispiel verwenden wir den Konstruktor HTMLDocument(), um ein leeres HTML-Dokument zu initialisieren. Die Methode create_text_node(data) der Klasse HTMLDocument erzeugt einen Textknoten mit der angegebenen Zeichenkette. Wenn Sie document.save(document_path) aufrufen, schreibt die Methode den HTML-Inhalt des document-Objekts in die durch document_path angegebene Datei.

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 für die Ressourcenbehandlung nutzen oder Ihr Dokument in den verschiedenen Formaten speichern können.

SaveOptions und ResourceHandlingOptions

Die Klasse SaveOptions ist eine Basisklasse, die es Ihnen ermöglicht, zusätzliche Optionen für Speichervorgänge anzugeben und die Verwaltung der verknüpften Ressourcen zu erleichtern. Die Eigenschaft resource_handling_options der Klasse SaveOptions dient der Konfiguration der Ressourcenverwaltung. Die Klasse ResourceHandlingOptions definiert Optionen für die Verwaltung von Ressourcen, die mit einem HTML-Dokument verbunden sind. Sie bietet mehrere Eigenschaften, um zu steuern, wie verschiedene Arten von Ressourcen während des Speicherns oder der Verarbeitung des Dokuments behandelt werden:

HTML in einer Datei speichern

Der folgende Python-Codeausschnitt zeigt, wie die Eigenschaft resource_handling_options der Klasse SaveOptions verwendet werden kann, um die Verknüpfung mit Ihren Dokumentdateien zu verwalten.

 1import os
 2from aspose.html import *
 3from aspose.html.saving import *
 4
 5# Prepare an output path for the document
 6output_dir = "output/"
 7if not os.path.exists(output_dir):
 8    os.makedirs(output_dir)
 9
10document_path = os.path.join(output_dir, "save-with-linked-file.html")
11
12# Prepare a simple HTML file with a linked document
13with open(document_path, "w") as file:
14    file.write("<p>Hello, World!</p>" +
15               "<a href="linked.html">linked file</a>")
16
17# Prepare a simple linked HTML file
18with open(os.path.join(output_dir, "linked.html"), "w") as file:
19    file.write("<p>Hello, linked file!</p>")
20
21# Load the "save-with-linked-file.html" into memory
22document = HTMLDocument(document_path)
23
24# Create a save options instance
25options = HTMLSaveOptions()
26
27# The following line with value "0" cuts off all other linked HTML files while saving this instance
28# If you remove this line or change the value to "1", the "linked.html" file will be saved as well to the output folder
29options.resource_handling_options.max_handling_depth = 1
30
31# Save the document with the save options
32output_path = os.path.join(output_dir, "save-with-linked-file_out.html")
33document.save(output_path, options)

Wenn Sie HTML als Bild oder als Dokument mit einem festen Layout wie PDF speichern möchten, können Sie das Dokument in das gewünschte Format konvertieren. Weitere Informationen finden Sie im Abschnitt HTML-Konverter.

HTML in MHTML speichern

In manchen Fällen müssen Sie Ihre Webseite als eine einzige Datei speichern. das Dokument MHTML könnte für diesen Zweck praktisch und hilfreich sein, da es ein Webseitenarchiv ist und alles in sich selbst speichert. Die HTMLSaveFormat Enumeration gibt das Format an, in dem das Dokument gespeichert wird, es können HTML-, MHTML- und Markdown-Formate sein. Das folgende Beispiel zeigt, wie die Methode save(path, save_format) zum Speichern von HTML in MHTML verwendet wird.

 1import os
 2from aspose.html import *
 3from aspose.html.saving import *
 4
 5# Define the output directory and document path
 6output_dir = "output/"
 7document_path = os.path.join(output_dir, "save-to-MHTML.mht")
 8
 9# Ensure the output directory exists
10os.makedirs(output_dir, exist_ok=True)
11
12# Prepare a simple HTML file with a linked document
13with open("document.html", "w") as file:
14    file.write("<p>Hello, World! I save HTML to MHTML.</p>"
15               "<a href="linked-file.html">linked file</a>")
16
17# Prepare a simple linked HTML file
18with open("linked-file.html", "w") as file:
19    file.write("<p>Hello, linked file!</p>")
20
21# Load the "document.html" into memory
22with HTMLDocument("document.html") as document:
23    # Save the document to MHTML format
24    document.save(document_path, HTMLSaveFormat.MHTML)

In der Datei “save-to-MTHML.mht” wird der HTML-Code der Dateien “document.html” und “linked-file.html” gespeichert.

HTML in Markdown speichern

Markdown ist eine Auszeichnungssprache mit Klartext-Syntax. Genauso wie für das HTML zu MHTML Beispiel, können Sie das HTMLSaveFormat für das Speichern von HTML zu Markdown verwenden. Bitte sehen Sie sich das folgende Python-Beispiel an:

 1import os
 2from aspose.html import *
 3from aspose.html.saving import *
 4
 5# Prepare a path to a source and output HTML file
 6data_dir = "data"
 7output_dir = "output/"
 8if not os.path.exists(output_dir):
 9    os.makedirs(output_dir)
10
11input_path = os.path.join(data_dir, "document.html")
12output_path = os.path.join(output_dir, "html-to-markdown.md")
13
14# Load the HTML document from a file
15document = HTMLDocument(input_path)
16
17# Save the document to MHTML format
18document.save(output_path, HTMLSaveFormat.MARKDOWN)

SVG speichern

In der Regel wird SVG in eine HTML-Datei eingebettet, um Vektorgrafiken wie Bilder, Symbole, Tabellen und andere darzustellen. SVG kann jedoch auch aus einer Webseite extrahiert und unabhängig bearbeitet werden, ähnlich wie ein HTML-Dokument.

Da sich sowohl SVGDocument als auch HTMLDocument an den WHATWG DOM Standard halten, sind ihre Operationen – wie das Laden, Lesen, Bearbeiten, Konvertieren und Speichern – weitgehend ähnlich. Daher können alle Beispiele, die die Manipulation mit HTMLDocument zeigen, auch auf SVGDocument angewendet werden.

 1import os
 2from aspose.html import *
 3from aspose.html.dom.svg import *
 4
 5# Define the output directory and document path
 6output_dir = "output/"
 7document_path = os.path.join(output_dir, "save-to.svg")
 8
 9# Ensure the output directory exists
10os.makedirs(output_dir, exist_ok=True)
11
12# Prepare SVG code
13svg_code = """
14<svg xmlns="http://www.w3.org/2000/svg" height="400" width="300">
15    <path stroke="#a06e84" stroke-width="3" fill="#74aeaf" d="  
16	M 150,50 L 150, 300
17	M 120,100 L 150,50 L 180, 100
18    M 110,150 L 150,90 L 190, 150
19	M 90,220 L 150,130 L 210, 220
20	M 70,300 L 150,190 L 230, 300
21    M 110,310 L 150,240 L 190, 310
22	" />
23</svg>
24"""
25
26# Initialize an SVG instance from the content string
27document = SVGDocument(svg_code, ".")
28
29# Save SVG
30document.save(document_path)

Weitere Informationen zur Verwendung der Aspose.SVG Python API für die Verarbeitung und das Rendering von SVG-Dokumenten finden Sie in der Aspose.SVG for Python via .NET Documentation.

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 externe Software erforderlich ist. Sie unterstützt gängige Dateiformate wie EPUB, MHTML, XML, SVG und Markdown und kann in die Dateiformate PDF, DOCX, XPS und Image rendern.

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!

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.