Rendering Device – C#

Die Verwendung der Methoden ConvertHTML() der Klasse Converter ist der gängigste Weg, um HTML-Dokumente in verschiedene Formate zu konvertieren. Die Aspose.HTML for .NET API bietet jedoch auch alternative Möglichkeiten zum Rendern von HTML-Dokumenten, mit denen Sie mehr Kontrolle über den Rendering-Prozess in Ihrer C#-Anwendung erhalten können.

In diesem Artikel wird beschrieben, wie Rendering-Geräte – PdfDevice, XpsDevice, DocDevice, und ImageDevice – zum Rendern von HTML in PDF, XPS, DOCX und Bilder verwendet werden. In den C#-Beispielen wird der Rendering-Prozess mit Standard-Rendering-Optionen betrachtet. Um mehr zu erfahren, lesen Sie bitte den Artikel Rendering Options.

Was ist Rendering Device in Aspose.HTML?

Das Rendering Device kapselt eine 2D-Zeichenfläche, deren API über die Schnittstelle IDevice implementiert wird. Derzeit bietet die API die folgenden Implementierungen: PdfDevice, XpsDevice, DocDevice und ImageDevice, die zur Erzeugung der Dateiformate PDF, XPS, DOCX bzw. Image verwendet werden.

Die Rendering-Geräte in Aspose.HTML for .NET API sind PdfDevice, XpsDevice, DocDevice, und ImageDevice. Dies sind Klassen mit Konstruktoren, Eigenschaften und Methoden, die das Rendering von HTML in PDF-, XPS-, DOCX- bzw. Bilddokumente darstellen. Jedes Rendering Device hat seinen eigenen einzigartigen Satz von Optionen, die mit den Klassen PdfRenderingOptions, XpsRenderingOptions, DocRenderingOptions bzw. ImageRenderingOptions implementiert werden.

Unsere C#-Bibliothek bietet eine Reihe von Namespaces mit Klassen, Methoden und Eigenschaften zum Rendern von HTML in Ausgabeformaten. Betrachten wir sie im Detail.

PdfDevice

Der Namensraum Aspose.Html.Rendering.Pdf bietet eine spezielle PdfDevice Klasse sowie einige Klassen mit Rendering-Optionen, die für das Rendering in ein PDF-Dokument verantwortlich sind. Die Klasse PdfDevice implementiert die Schnittstelle IDevice, die die Grundfunktionalität für das Rendern eines HTML-Dokuments definiert.

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

 1// Render HTML to PDF using C#
 2
 3// Prepare HTML code
 4string code = @"<span>Hello, World!!</span>";
 5
 6// Prepare a path to save a converted file 
 7string savePath = Path.Combine(OutputDir, "document.pdf");
 8
 9// Initialize an HTML document from the HTML code
10using HTMLDocument document = new HTMLDocument(code, ".");
11
12// Create a PDF Device and specify the output file to render
13using PdfDevice device = new PdfDevice(savePath);
14
15// Render HTML to PDF
16document.RenderTo(device);

Erläutern wir den obigen C#-Codeausschnitt:

  1. Zuerst erstellen wir ein HTML-Dokument aus einem Codestring. In die Variable code fügen wir den content ein, der in PDF konvertiert werden soll.
  2. Dann bereiten wir einen Pfad zum Speichern der konvertierten Datei vor – savePath.
  3. Mit dem Konstruktor HTMLDocument(content, baseUri) erstellen wir eine Instanz von HTMLDocument.
  4. Wir erstellen ein Rendering Device – eine Instanz der Klasse PdfDevice. Dazu verwenden wir den Konstruktor PdfDevice(savePath).
  5. Und schließlich rufen wir die Methode RenderTo(device) mit dem angegebenen Gerät auf.

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

Wenn Sie sich dafür interessieren, wie Sie die Rendering-Optionen nutzen können, um die Größe der Dokumentseiten an die Größe des Inhalts anzupassen und umgekehrt, lesen Sie bitte den Artikel Wie kann man die Größe eines Dokuments während der Konvertierung von HTML ändern?

ImageDevice

Der Namensraum Aspose.Html.Rendering.Image bietet eine spezielle ImageDevice Klasse sowie einige Klassen mit Rendering-Optionen, die für die Umwandlung von HTML-Dateien in Rasterformate zuständig sind: JPG, PNG, BMP, GIF und TIFF.

Im Beispiel С# werden mehrere Schritte durchgeführt, um HTML in ein JPG-Bild umzuwandeln:

  1. Laden einer Quelldatei aus einem lokalen Dateisystem mit dem HTMLDocument(documentPath) Konstruktor.
  2. Erstellen Sie eine Instanz der Klasse ImageRenderingOptions mit der Angabe von ImageFormat. Standardmäßig ist das Bildformat PNG.
  3. Erstellen Sie ein Rendering Device – eine Instanz der Klasse ImageDevice. Verwenden Sie den ImageDevice(imageOptions, savePath) Konstruktor, der die Rendering-Optionen und den Pfad der Ausgabedatei als Parameter übernimmt.
  4. Render HTML zu JPG Bild mit der Methode RenderTo(device). Diese Methode nimmt eine Instanz der ImageDevice-Klasse als Parameter an.
 1// Render HTML to JPG using C#
 2
 3// Prepare path to a source HTML file
 4string documentPath = Path.Combine(DataDir, "spring.html");
 5
 6// Prepare a path to save the converted file
 7string savePath = Path.Combine(OutputDir, "spring-output.jpg");
 8
 9// Initialize an HTML document from the file
10using HTMLDocument document = new HTMLDocument(documentPath);
11
12// Create an instance of the ImageRenderingOptions class
13ImageRenderingOptions imageOptions = new ImageRenderingOptions(ImageFormat.Jpeg);
14
15// Create the Image Device and specify the output file to render
16using ImageDevice device = new ImageDevice(imageOptions, savePath);
17
18// Render HTML to JPG
19document.RenderTo(device);

XpsDevice

Der Aspose.Html.Rendering.Xps Namespace bietet eine spezielle XpsDevice Klasse für das Rendering von HTML-Dateien in ein XPS-Dokument. In dem folgenden C#-Beispiel wird der Rendering-Prozess mit Standard-Rendering-Optionen betrachtet:

 1// Render HTML to XPS using C#
 2
 3// Prepare path to a source HTML file
 4string documentPath = Path.Combine(DataDir, "spring.html");
 5
 6// Prepare a path to save the converted file
 7string savePath = Path.Combine(OutputDir, "spring.xps");
 8
 9// Initialize an HTML document from the file
10using HTMLDocument document = new HTMLDocument(documentPath);
11
12// Create an instance of the XpsDevice and specify the output file to render
13using XpsDevice device = new XpsDevice(savePath);
14
15// Render HTML to XPS
16document.RenderTo(device);

DocDevice

Der Aspose.Html.Rendering.Doc Namespace bietet eine spezielle DocDevice Klasse für das Rendering von HTML-Dateien in das DOCX-Format. In dem folgenden C#-Beispiel wird der Rendering-Prozess mit Standard-Rendering-Optionen betrachtet:

 1// Render HTML to DOCX using C#
 2
 3// Prepare a path to save the converted file
 4string savePath = Path.Combine(OutputDir, "document.docx");
 5
 6// Load a document from 'https://docs.aspose.com/html/files/document.html' web page
 7using HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/files/document.html");
 8
 9// Create an instance of the DocRenderingOptions class
10DocRenderingOptions docOptions = new DocRenderingOptions();
11
12// Create the DocDevice object and specify the output file to render
13using DocDevice device = new DocDevice(docOptions, savePath);
14
15// Render HTML to DOCX
16document.RenderTo(device);

Sie können die vollständigen C#-Beispiele und Datendateien von GitHub herunterladen.

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. Und das Beste daran: Es ist völlig kostenlos!

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.