HTML in XPS konvertieren – C# Beispiele
XPS ist ein von Microsoft entwickeltes Format zur Speicherung und Anzeige von Dokumenten. Es bietet eine Reihe von Vorteilen, wie z. B. die Unterstützung von Sicherheitsmerkmalen, wie digitale Signaturen, die eine größere Dokumentensicherheit gewährleisten, und vieles mehr. Die Konvertierung von HTML in XPS ist oft erforderlich, um einen begrenzten Zugriff auf die Bearbeitung oder das Kopieren von Dokumenten zu ermöglichen. Das XPS-Dateiformat ermöglicht die Verwaltung von Zugriffsrechten und liefert qualitativ hochwertige, druckbare Dokumente. XPS-Dateien können für die gemeinsame Nutzung von Dokumenten verwendet werden, und Sie können sicher sein, dass das, was Sie auf der Seite sehen, mit dem übereinstimmt, was andere Personen sehen, wenn Sie den XPS-Viewer verwenden.
Die Verwendung der Methoden Converter.ConvertHTML() ist der gängigste Weg, um HTML-Code in verschiedene Formate zu konvertieren. Mit Aspose.HTML for .NET können Sie HTML programmatisch in das XPS-Format konvertieren und haben dabei die volle Kontrolle über eine Vielzahl von Konvertierungsparametern. In diesem Artikel finden Sie Informationen darüber, wie Sie HTML in XPS konvertieren können, indem Sie ConvertHTML()-Methoden der Klasse Converter verwenden, und wie Sie die Parameter XpsSaveOptions und ICreateStreamProvider anwenden.
Online HTML-Konverter
Sie können die Aspose.HTML API-Funktionalität überprüfen und HTML in Echtzeit konvertieren. Bitte laden Sie HTML aus dem lokalen Dateisystem, wählen Sie das Ausgabeformat und führen Sie das Beispiel aus. Im Beispiel sind die Speicheroptionen standardmäßig eingestellt. Sie erhalten das Ergebnis sofort als separate Datei.
Wenn Sie HTML in XPS programmatisch konvertieren möchten, sehen Sie sich bitte die folgenden C#-Codebeispiele an.
HTML zu XPS mit einer einzigen Codezeile
Die statischen Methoden der Klasse Converter werden in erster Linie als einfachste Möglichkeit zur Konvertierung eines HTML-Codes in verschiedene Formate verwendet. Sie können HTML in Ihrer C#-Anwendung buchstäblich mit einer einzigen Codezeile in XPS konvertieren!
1// Convert HTML to XPS using C#
2
3// Invoke the ConvertHTML() method to convert the HTML code to XPS
4Converter.ConvertHTML(@"<h1>Convert HTML to XPS!</h1>", ".", new XpsSaveOptions(), Path.Combine(OutputDir, "convert-with-single-line.xps"));
HTML in XPS konvertieren
Die Konvertierung einer Datei in ein anderes Format mit der Methode ConvertHTML() ist eine Abfolge von Operationen, darunter das Laden und Speichern von Dokumenten:
- Laden Sie eine HTML-Datei mit Hilfe der Klasse HTMLDocument.
- Erstellen Sie ein neues XpsSaveOptions-Objekt.
- Verwenden Sie die Methode ConvertHTML() der Klasse Converter, um HTML als XPS-Datei zu speichern. Sie müssen der Methode ConvertHTML() das HTMLDocument, XpsSaveOptions und den Pfad der Ausgabedatei übergeben, um HTML in XPS zu konvertieren.
Bitte sehen Sie sich das folgende C# Code Snippet an, das den Prozess der Konvertierung von HTML in XPS mit Aspose.HTML for .NET zeigt.
1// Convert HTML to XPS in C#
2
3// Prepare a path to a source HTML file
4string documentPath = Path.Combine(DataDir, "canvas.html");
5
6// Prepare a path to save the converted file
7string savePath = Path.Combine(OutputDir, "canvas-output.xps");
8
9// Initialize an HTML document from the file
10using HTMLDocument document = new HTMLDocument(documentPath);
11
12// Initialize XpsSaveOptions
13XpsSaveOptions options = new XpsSaveOptions();
14
15// Convert HTML to XPS
16Converter.ConvertHTML(document, options, savePath);
Optionen speichern
Aspose.HTML ermöglicht die Umwandlung von HTML in XPS unter Verwendung von Standard- oder benutzerdefinierten Speicheroptionen. die Verwendung von XpsSaveOptions ermöglicht es Ihnen, den Rendering-Prozess anzupassen. Sie können die Seitengröße, Ränder, Css usw. angeben.
Property | Description |
---|---|
PageSetup | This property gets a page setup object and uses it for configuration output page-set. |
Css | Gets a CssOptions object which is used for configuration of CSS properties processing. |
BackgroundColor | This property sets the color that will fill the background of every page. By default, this property is Transparent. |
HorizontalResolution | Sets horizontal resolution for output images in pixels per inch. The default value is 300 dpi. |
VerticalResolution | Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi. |
Um mehr über XpsSaveOptions zu erfahren, lesen Sie bitte den Artikel Feinabstimmungskonverter.
HTML in XPS konvertieren mit XpsSaveOptions
Um HTML in XPS zu konvertieren und dabei XpsSaveOptions anzugeben, sollten Sie einige Schritte befolgen:
- Laden Sie eine HTML-Datei mit einem der HTMLDocument()-Konstruktoren der Klasse HTMLDocument.
- Erstellen Sie ein neues XpsSaveOptions Objekt.
- Verwenden Sie die Methode ConvertHTML() der Klasse Converter, um HTML als PDF-Datei zu speichern. Sie müssen der Methode ConvertHTML() das HTMLDocument, XpsSaveOptions und den Pfad der Ausgabedatei übergeben, um HTML in XPS zu konvertieren.
Das folgende Beispiel zeigt, wie Sie XpsSaveOptions verwenden und eine XPS-Datei mit benutzerdefinierter Seitengröße und Hintergrundfarbe erstellen:
1// Convert HTML to XPS with custom settings using C#
2
3string documentPath = Path.Combine(OutputDir, "save-options.html");
4string savePath = Path.Combine(OutputDir, "save-options-output.xps");
5
6// Prepare HTML code and save it to a file
7string code = "<h1> XpsSaveOptions Class</h1>\r\n" +
8 "<p>Using XpsSaveOptions Class, you can programmatically apply a wide range of conversion parameters such as BackgroundColor, PageSetup, etc.</p>\r\n";
9
10File.WriteAllText(documentPath, code);
11
12// Initialize an HTML Document from the html file
13using HTMLDocument document = new HTMLDocument(documentPath);
14
15// Set up the page-size, margins and change the background color to AntiqueWhite
16XpsSaveOptions options = new XpsSaveOptions()
17{
18 BackgroundColor = System.Drawing.Color.AntiqueWhite
19};
20options.PageSetup.AnyPage = new Page(new Aspose.Html.Drawing.Size(Length.FromInches(4.9f), Length.FromInches(3.5f)), new Margin(30, 20, 10, 10));
21
22// Convert HTML to XPS
23Converter.ConvertHTML(document, options, savePath);
Der
XpsSaveOptions() Konstruktor initialisiert eine Instanz der XpsSaveOptions Klasse, die an die ConvertHTML() Methode übergeben wird. Die ConvertHTML()-Methode nimmt die Parameter document
, options
und den Pfad der Ausgabedatei savePath
entgegen und führt die Konvertierung durch. Die Klasse XpsSaveOptions bietet zahlreiche Eigenschaften, die Ihnen die volle Kontrolle über eine Vielzahl von Parametern geben und den Prozess der Konvertierung von HTML in das XPS-Format verbessern.
Im obigen Beispiel verwenden wir:
- die Eigenschaft
BackgroundColor
legt die Farbe fest, mit der der Hintergrund gefüllt wird. Die Standardeinstellung für BackgroundColor ist Transparent; - eigenschaft
PageSetup
, die die page size und die margins angibt.
Output-Stream-Anbieter
Wenn es erforderlich ist, Dateien in einem entfernten Speicher (z. B. Cloud, Datenbank usw.) zu speichern, können Sie die Schnittstelle ICreateStreamProvider implementieren, um die manuelle Kontrolle über den Dateierstellungsprozess zu haben. Diese Schnittstelle ist als Callback-Objekt konzipiert, um einen Stream zu Beginn des Dokuments/der Seite (je nach Ausgabeformat) zu erstellen und den früh erstellten Stream nach dem Rendern des Dokuments/der Seite freizugeben.
Aspose.HTML for .NET bietet verschiedene Arten von Ausgabeformaten für Rendering-Operationen. Einige dieser Formate erzeugen eine einzige Ausgabedatei (z.B. PDF, XPS), andere erzeugen mehrere Dateien (Bildformate JPG, PNG, etc.).
Das folgende Beispiel zeigt, wie Sie Ihren eigenen MemoryStreamProvider in der Anwendung implementieren und verwenden können:
1// Implement a custom MemoryStream provider for advanced control over HTML rendering output streams
2
3class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider
4{
5 // List of MemoryStream objects created during the document rendering
6 public List<MemoryStream> Streams { get; } = new List<MemoryStream>();
7
8 public Stream GetStream(string name, string extension)
9 {
10 // This method is called when only one output stream is required, for instance for XPS, PDF or TIFF formats
11 MemoryStream result = new MemoryStream();
12 Streams.Add(result);
13 return result;
14 }
15
16 public Stream GetStream(string name, string extension, int page)
17 {
18 // This method is called when the creation of multiple output streams are required. For instance, during the rendering HTML to list of image files (JPG, PNG, etc.)
19 MemoryStream result = new MemoryStream();
20 Streams.Add(result);
21 return result;
22 }
23
24 public void ReleaseStream(Stream stream)
25 {
26 // Here you can release the stream filled with data and, for instance, flush it to the hard-drive
27 }
28
29 public void Dispose()
30 {
31 // Releasing resources
32 foreach (MemoryStream stream in Streams)
33 stream.Dispose();
34 }
35}
1// Convert HTML to XPS in C# using memory stream
2
3// Create an instance of MemoryStreamProvider
4using MemoryStreamProvider streamProvider = new MemoryStreamProvider();
5
6// Initialize an HTML document
7using HTMLDocument document = new HTMLDocument(@"<h1>Convert HTML to XPS File Format!</h1>", ".");
8
9// Convert HTML to XPS using MemoryStreamProvider
10Converter.ConvertHTML(document, new XpsSaveOptions(), streamProvider);
11
12// Get access to the memory stream that contains the result data
13MemoryStream memory = streamProvider.Streams.First();
14memory.Seek(0, SeekOrigin.Begin);
15
16// Flush the result data to the output file
17using (FileStream fs = File.Create(Path.Combine(OutputDir, "stream-provider.xps")))
18{
19 memory.CopyTo(fs);
20}
Sie können die vollständigen Beispiele und Datendateien von GitHub herunterladen.
Aspose.HTML bietet einen kostenlosen Online HTML zu XPS Konverter, der HTML in XPS mit hoher Qualität, einfach und schnell konvertiert. Einfach hochladen, Ihre Dateien konvertieren und in wenigen Sekunden Ergebnisse erhalten!