Rendering Devices – Rendering von HTML in PDF, XPS, DOCX und Bilder

In diesem Artikel wird beschrieben, wie Rendering-Geräte – PdfDevice, XpsDevice, DocDevice und ImageDevice – verwendet werden, um HTML in PDF, XPS, DOCX und Bilder zu rendern. In den Python-Beispielen wird der Rendering-Prozess mit Standard-Rendering-Optionen betrachtet. Um mehr über die Anpassung der Ausgabe zu erfahren, lesen Sie bitte den Artikel Rendering Options.

Verständnis von Rendering Devices in Aspose.HTML

In Aspose.HTML for Python via .NET stellt ein Rendering Device eine 2D-Zeichenfläche dar, die über die Schnittstelle IDevice implementiert wird. Sein Hauptzweck besteht darin, den Inhalt von HTML und unterstützten Webformaten (MHTML, SVG und EPUB) in verschiedene Ausgabeformate zu konvertieren.

Die Python-API bietet die folgenden Rendering-Geräte:

Jedes Gerät hat spezifische Rendering-Optionen: PdfRenderingOptions, XpsRenderingOptions, DocRenderingOptions, und ImageRenderingOptions. Diese ermöglichen eine genaue Kontrolle über die Ausgabequalität, das Layout und die Formatierung.

PdfDevice

Der Aspose.Html.Rendering.Pdf Namespace in der Aspose.HTML for Python via .NET Bibliothek bietet Funktionen für das direkte Rendern von HTML und verwandten Formaten in PDF-Dokumente. Er enthält Klassen und Parameter, die auf die PDF-Ausgabe zugeschnitten sind. Schlüsselkomponenten:

Das nächste Python-Beispiel zeigt, wie man PdfDevice verwendet, um HTML in PDF zu rendern. Der Prozess wird mit Standard-Rendering-Optionen betrachtet:

 1# Render HTML to PDF in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.pdf as rp
 6
 7# Prepare input and output paths
 8data_dir = "data"
 9output_dir = "output"
10os.makedirs(output_dir, exist_ok=True)
11
12input_path = os.path.join(data_dir, "document.html")
13output_path = os.path.join(output_dir, "document.pdf")
14
15# Render HTML to PDF
16with ah.HTMLDocument(input_path) as document:
17    with rp.PdfDevice(output_path) as device:
18        document.render_to(device)

Rendering-Optionen geben Ihnen zusätzliche Kontrolle über den Rendering-Prozess. Um mehr über sie zu erfahren, lesen Sie bitte den Artikel Rendering-Optionen.

ImageDevice

Der Aspose.Html.Rendering.Image Namespace bietet eine spezielle ImageDevice Klasse sowie die Klasse ImageRenderingOptions, die für das Rendern von HTML-Dateien in Rasterformate zuständig ist: JPG, PNG, BMP, GIF und TIFF.

Dieses Beispiel zeigt, wie eine HTML-Datei mit Aspose.HTML for Python via .NET in ein JPEG-Bild umgewandelt werden kann. Der Code lädt ein HTML-Dokument von der Festplatte, konfiguriert die ImageRenderingOptions für das JPEG-Format und verwendet dann das ImageDevice, um das Dokument in eine Ausgabebilddatei zu rendern.

 1# Render HTML to JPG in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.image as ri
 6
 7# Prepare input and output paths
 8data_dir = "data"
 9output_dir = "output"
10os.makedirs(output_dir, exist_ok=True)
11
12document_path = os.path.join(data_dir, "drawing.html")
13save_path = os.path.join(output_dir, "drawing-output.jpg")
14
15# Load the HTML document
16with ah.HTMLDocument(document_path) as document:
17    # Configure JPG output
18    options = ri.ImageRenderingOptions(ri.ImageFormat.JPEG)
19
20    # Render HTML to JPG
21    with ri.ImageDevice(options, save_path) as device:
22        document.render_to(device)

XpsDevice

Der Namensraum Aspose.Html.Rendering.Xps stellt die Klasse XpsDevice zur Verfügung, die zum Rendern von HTML-Inhalten (oder MHTML, SVG, EPUB usw.) in XPS-Dokumente verwendet wird. Das folgende Python-Beispiel demonstriert diesen Prozess mit den Standard-Rendering-Optionen:

 1# Render HTML to XPS in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.xps as rx
 6
 7# Prepare input and output paths
 8data_dir = "data"
 9output_dir = "output"
10os.makedirs(output_dir, exist_ok=True)
11
12document_path = os.path.join(data_dir, "drawing.html")
13save_path = os.path.join(output_dir, "drawing-output.xps")
14
15# Load the HTML document
16with ah.HTMLDocument(document_path) as document:
17    # Configure XPS output
18    options = rx.XpsRenderingOptions()
19
20    # Render HTML to XPS
21    with rx.XpsDevice(options, save_path) as device:
22        document.render_to(device)

DocDevice

Der Namensraum Aspose.Html.Rendering.Doc enthält die Klasse DocDevice, die das Rendern von HTML-, MHTML-, SVG- und EPUB-Dateien ins DOCX-Format ermöglicht. Das folgende Python-Beispiel demonstriert diesen Vorgang unter Verwendung der Standard-Rendering-Optionen:

 1# Render HTML to DOCX in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.doc as rd
 6
 7# Prepare the output path
 8output_dir = "output"
 9os.makedirs(output_dir, exist_ok=True)
10save_path = os.path.join(output_dir, "document.docx")
11
12# Render the webpage to DOCX
13with ah.HTMLDocument("https://docs.aspose.com/html/files/document.html") as document:
14    with rd.DocDevice(save_path) as device:
15        document.render_to(device)

Aspose.HTML bietet kostenlose Online- Konverter, die HTML-, XHTML-, MHTML-, EPUB-, XML- und Markdown-Dateien in eine Reihe von gängigen Formaten konvertieren können. Sie können Ihre HTML-basierten Dokumente ganz einfach in PDF, XPS, DOCX, JPG, PNG, GIF, TIFF und andere konvertieren. Wählen Sie einfach eine Datei aus, wählen Sie das zu konvertierende Format, und schon sind Sie fertig.