HTML in PNG konvertieren in C#

PNG ist eines der am häufigsten verwendeten Bilddateiformate. Es unterstützt die verlustfreie Bildkomprimierung, was es bei seinen Nutzern so beliebt macht. Die Konvertierung von HTML-Dateien in PNG-Bilder kann beispielsweise erforderlich sein, wenn Sie eine Webseite in eine PowerPoint-Präsentation einfügen, sie in einen Blog für Ihre Leser einfügen oder per E-Mail versenden möchten. Mit Aspose.HTML for .NET können Sie HTML in das PNG-Format programmatisch konvertieren und dabei eine Vielzahl von Konvertierungsparametern steuern.

In diesem Artikel finden Sie Informationen über die Konvertierung von HTML in PNG mit Hilfe der Methoden ConvertHTML() der Klasse Converter sowie über die Anwendung der Parameter ImageSaveOptions und ICreateStreamProvider.

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 PNG programmatisch konvertieren möchten, sehen Sie sich bitte die folgenden C#-Codebeispiele an.

HTML zu PNG 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 PNG konvertieren!

1// Convert HTML to PNG using C#
2
3// Invoke the ConvertHTML() method to convert HTML to PNG
4Converter.ConvertHTML(@"<h1>Convert HTML to PNG!</h1>", ".", new ImageSaveOptions(), Path.Combine(OutputDir, "convert-with-single-line.png"));

HTML in PNG umwandeln

Die Konvertierung einer Datei in ein anderes Format mit der Methode ConvertHTML() ist eine Abfolge von Operationen, darunter das Laden und Speichern von Dokumenten:

  1. Laden Sie eine HTML-Datei mit Hilfe der Klasse HTMLDocument.
  2. Erstellen Sie ein neues ImageSaveOptions-Objekt. Die Eigenschaft Format ist standardmäßig PNG.
  3. Verwenden Sie die Methode ConvertHTML() der Klasse Converter, um HTML als PNG-Bild zu speichern. Sie müssen HTMLDocument, ImageSaveOptions und den Pfad zur Ausgabedatei an die Methode ConvertHTML() übergeben, um HTML in PNG zu konvertieren.

Bitte sehen Sie sich das folgende C# Code Snippet an, das den Prozess der Konvertierung von HTML in PNG mit Aspose.HTML for .NET zeigt.

 1// Convert HTML to PNG in C#
 2
 3// Prepare a path to a source HTML file
 4string documentPath = Path.Combine(DataDir, "nature.html");
 5
 6// Prepare a path to save the converted file
 7string savePath = Path.Combine(OutputDir, "nature-output.png");
 8
 9// Initialize an HTML document from the file
10using HTMLDocument document = new HTMLDocument(documentPath);
11
12// Create an instance of the ImageSaveOptions class 
13ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Png);
14
15// Convert HTML to PNG
16Converter.ConvertHTML(document, options, savePath);

Optionen speichern

Aspose.HTML ermöglicht die Umwandlung von HTML in PNG unter Verwendung von Standard- oder benutzerdefinierten Speicheroptionen. die Verwendung von ImageSaveOptions ermöglicht es Ihnen, den Rendering-Prozess anzupassen; Sie können das image format, die page size, die margins, den CSS media-type usw. angeben.

PropertyDescription
CompressionSets Tagged Image File Format (TIFF) Compression. By default, this property is LZW.
CSSGets a CssOptions object which is used for configuration of CSS properties processing.
FormatSets the ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default, this property is PNG.
BackgroundColorThis property sets the color that will fill the background. By default, this property is Transparent.
PageSetupThis property gets a page setup object and uses it for configuration output page-set.
HorizontalResolutionSets horizontal resolution for output images in pixels per inch. The default value is 300 dpi.
VerticalResolutionSets vertical resolution for output images in pixels per inch. The default value is 300 dpi.
UseAntialiasingThis property sets the image rendering quality. Antialiasing is enabled by default.
TextGets a TextOptions object which is used for configuration of text rendering.

Um mehr über die Klasse ImageSaveOptions zu erfahren, lesen Sie bitte den Artikel Feinabstimmungskonverter.

HTML in PNG konvertieren mit ImageSaveOptions

Um HTML in PNG mit ImageSaveOptions zu konvertieren, sollten Sie ein paar Schritte befolgen:

  1. Laden Sie eine HTML-Datei mit einem der HTMLDocument()-Konstruktoren der HTMLDocument-Klasse.
  2. Erstellen Sie ein neues ImageSaveOptions-Objekt und geben Sie Speicheroptionen an. Die Eigenschaft Format ist standardmäßig PNG.
  3. Verwenden Sie die Methode ConvertHTML() der Klasse Converter, um HTML als JPG-Bild zu speichern. Sie müssen der Methode ConvertHTML() das HTMLDocument, ImageSaveOptions und den Pfad der Ausgabedatei übergeben, um HTML in PNG zu konvertieren.

Das folgende C#-Codefragment zeigt, wie man HTML in PNG konvertiert, indem man benutzerdefinierte Speicheroptionen verwendet:

 1// Convert HTML to PNG in C# with custom settings
 2
 3// Prepare a path to a source HTML file
 4string documentPath = Path.Combine(DataDir, "nature.html");
 5
 6// Prepare a path to save the converted file
 7string savePath = Path.Combine(OutputDir, "nature-output-options.png");
 8
 9// Initialize an HTML document from the file
10using HTMLDocument document = new HTMLDocument(documentPath);
11
12// Initialize ImageSaveOptions
13ImageSaveOptions options = new ImageSaveOptions()
14{
15    UseAntialiasing = false,
16    HorizontalResolution = 100,
17    VerticalResolution = 100,
18    BackgroundColor = System.Drawing.Color.Beige
19};
20
21// Convert HTML to PNG
22Converter.ConvertHTML(document, options, savePath);

Der ImageSaveOptions() Konstruktor initialisiert eine Instanz der ImageSaveOptions Klasse, die an die ConvertHTML() Methode übergeben wird. Die Methode ConvertHTML() nimmt die Parameter document, options und den Pfad der Ausgabedatei savePath entgegen und führt die Konvertierung durch.

Im obigen Beispiel fügen wir hinzu:

Verwenden Sie UseAntialiasing = true, wenn Sie die visuelle Qualität von gerenderten Formen, Text und Bildern in Ihrer Anwendung verbessern wollen, insbesondere wenn Klarheit und glatte Kanten wichtig sind. Durch die Aktivierung von Antialiasing werden gezackte Kanten geglättet, indem die Farben der Pixel um die Kanten herum gemischt werden, was zu einem weicheren, feineren Aussehen führt.

Während UseAntialiasing = true eine bessere visuelle Qualität bietet, kann es auch die Verarbeitungszeit erhöhen. Für Anwendungen, bei denen die Rendering-Geschwindigkeit eine Priorität ist, kann es optimal sein, UseAntialiasing = false zu setzen.

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ühzeitig erstellten Stream nach dem Rendern des Dokuments/der Seite freizugeben.

Aspose.HTML for .NET bietet verschiedene Arten von Ausgabeformaten für Rendering-Vorgänge. 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}

Der folgende C#-Code zeigt, wie die MemoryStreamProvider-Klasse und die Aspose.HTML for .NET-Bibliothek verwendet werden, um HTML in PNG zu konvertieren und das Ergebnis in einer Datei zu speichern.

 1// Convert HTML to PNG 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 PNG File Format!</h1>", ".");
 8
 9// Convert HTML to JPG using the MemoryStreamProvider
10Converter.ConvertHTML(document, new ImageSaveOptions(ImageFormat.Png), 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.png")))
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 PNG Konverter, der HTML in PNG Bilder mit hoher Qualität, einfach und schnell konvertiert. Einfach hochladen, konvertieren Sie Ihre Dateien und erhalten Sie Ergebnisse in ein paar Sekunden!

Text “HTML zu PNG Konverter”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.