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:
- Zuerst erstellen wir ein HTML-Dokument aus einem Codestring. In die Variable
code
fügen wir dencontent
ein, der in PDF konvertiert werden soll. - Dann bereiten wir einen Pfad zum Speichern der konvertierten Datei vor –
savePath
. - Mit dem Konstruktor
HTMLDocument(
content
,baseUri
) erstellen wir eine Instanz von HTMLDocument. - Wir erstellen ein Rendering Device – eine Instanz der Klasse
PdfDevice. Dazu verwenden wir den Konstruktor PdfDevice(
savePath
). - 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:
- Laden einer Quelldatei aus einem lokalen Dateisystem mit dem
HTMLDocument(
documentPath
) Konstruktor. - Erstellen Sie eine Instanz der Klasse
ImageRenderingOptions mit der Angabe von
ImageFormat
. Standardmäßig ist das Bildformat PNG. - 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. - 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!