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:

 1# Save HTML to a file using Python
 2
 3import os
 4import aspose.html as ah
 5
 6# Prepare an output path for saving the document
 7output_dir = "output/"
 8if not os.path.exists(output_dir):
 9    os.makedirs(output_dir)
10
11document_path = os.path.join(output_dir, "save-html-document.html")
12
13# Initialize an empty HTML document
14with ah.HTMLDocument() as document:
15    # Create a text node and add it to the document
16    text = document.create_text_node("Hello, World!")
17    document.body.append_child(text)
18
19    # Save HTML to a file
20    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.

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

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

 1# Save HTML as Markdown using Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.saving as sav
 6
 7# Prepare a path to a source and output HTML file
 8data_dir = "data"
 9output_dir = "output/"
10if not os.path.exists(output_dir):
11    os.makedirs(output_dir)
12
13input_path = os.path.join(data_dir, "document.html")
14output_path = os.path.join(output_dir, "html-to-markdown.md")
15
16# Load the HTML document from a file
17document = ah.HTMLDocument(input_path)
18
19# Save the document to MHTML format
20document.save(output_path, sav.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.

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