HTML in DOCX konvertieren in C#

Eine DOCX-Datei ist ein Microsoft Word-Dokument, das in der Regel Text enthält, aber auch eine Vielzahl von Daten wie Tabellen, Raster- und Vektorgrafiken, Videos, Sounds und Diagramme enthalten kann. Die DOCX-Datei ist in hohem Maße bearbeitbar, einfach zu verwenden und von der Größe her überschaubar. Dieses Format ist sehr beliebt, weil es dem Benutzer eine Vielzahl von Möglichkeiten bietet, Dokumente jeder Art zu erstellen. Dieses Dateiformat ist eines der am weitesten verbreiteten und wird von zahlreichen Programmen unterstützt.

Die Verwendung von Converter.ConvertHTML Methoden ist der häufigste Weg, um HTML-Code in verschiedene Formate zu konvertieren. Mit Aspose.HTML for .NET können Sie HTML programmatisch in das DOCX-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 DOCX konvertieren können, indem Sie ConvertHTML()-Methoden der Klasse Converter verwenden, und wie Sie die Parameter DocSaveOptions und ICreateStreamProvider anwenden.

Online HTML-Konverter

Sie können die Funktionalität der Aspose.HTML for .NET API ü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 DOCX programmatisch konvertieren möchten, sehen Sie sich bitte die folgenden C#-Codebeispiele an.

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

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

HTML in DOCX 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 DocSaveOptions Objekt.
  3. Verwenden Sie die Methode ConvertHTML() der Klasse Converter, um HTML als DOCX-Datei zu speichern. Sie müssen der Methode ConvertHTML() das HTMLDocument, DocSaveOptions und den Pfad der Ausgabedatei übergeben, um HTML in DOCX zu konvertieren.

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

 1// Convert HTML to DOCX using 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.docx");
 8
 9// Initialize an HTML document from the file
10using HTMLDocument document = new HTMLDocument(documentPath);
11
12// Initialize DocSaveOptions
13DocSaveOptions options = new DocSaveOptions();
14
15// Convert HTML to DOCX
16Converter.ConvertHTML(document, options, savePath);

Optionen speichern

Aspose.HTML ermöglicht die Umwandlung von HTML in DOCX unter Verwendung von Standard- oder benutzerdefinierten Speicheroptionen. die Verwendung von DocSaveOptions ermöglicht es Ihnen, den Rendering-Prozess anzupassen; Sie können die Seitengröße, Ränder, Auflösungen, CSS usw. angeben.

PropertyDescription
FontEmbeddingRuleThis property gets or sets the font embedding rule. Available values are Full and None. The default value is None.
CssGets a CssOptions object which is used for configuration of CSS properties processing.
DocumentFormatThis property gets or sets the file format of the output document. The default value is DOCX.
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.

Um mehr über DocSaveOptions zu erfahren, lesen Sie bitte den Artikel Feinabstimmungskonverter.

HTML in DOCX konvertieren mit DocSaveOptions

Um HTML in DOCX mit DocSaveOptions zu konvertieren, sollten Sie ein paar Schritte befolgen:

  1. Laden Sie eine HTML-Datei mit einem der HTMLDocument()-Konstruktoren der Klasse HTMLDocument.
  2. Erstellen Sie ein neues DocSaveOptions Objekt.
  3. Verwenden Sie die Methode ConvertHTML() der Klasse Converter, um HTML als DOCX-Datei zu speichern. Sie müssen der Methode ConvertHTML() das HTMLDocument, die DocSaveOptions und den Pfad der Ausgabedatei übergeben, um HTML in DOCX zu konvertieren.

Das folgende Beispiel zeigt, wie Sie DocSaveOptions verwenden und eine DOCX-Datei mit benutzerdefinierten Speicheroptionen erstellen:

 1// Convert HTML to DOCX in C# with custom settings
 2
 3string documentPath = Path.Combine(OutputDir, "save-options.html");
 4string savePath = Path.Combine(OutputDir, "save-options-output.docx");
 5
 6// Prepare HTML code and save it to a file
 7string code = "<h1>DocSaveOptions Class</h1>\r\n" +
 8              "<p>Using DocSaveOptions Class, you can programmatically apply a wide range of conversion parameters.</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// Initialize DocSaveOptions. Set A5 as a page-size 
16DocSaveOptions options = new DocSaveOptions();
17options.PageSetup.AnyPage = new Page(new Aspose.Html.Drawing.Size(Length.FromInches(8.3f), Length.FromInches(5.8f)));
18
19// Convert HTML to DOCX
20Converter.ConvertHTML(document, options, savePath);

Der DocSaveOptions() Konstruktor initialisiert eine Instanz der DocSaveOptions Klasse, die an die ConvertHTML() Methode übergeben wird. Die ConvertHTML() Methode nimmt das document, options, den Pfad der Ausgabedatei savePath und führt die Konvertierung durch. Die Klasse DocSaveOptions bietet zahlreiche Eigenschaften, die Ihnen die volle Kontrolle über eine Vielzahl von Parametern geben und den Prozess der Umwandlung von HTML in das DOCX-Format verbessern. Im obigen Beispiel verwenden wir die Eigenschaft PageSetup, die die page size des DOCX-Dokuments 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 zur Erstellung eines Streams am Anfang des Dokuments/der Seite (je nach Ausgabeformat) und zur Freigabe des früh erstellten Streams nach dem Rendern des Dokuments/der Seite konzipiert.

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, usw.).

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 Codeausschnitt zeigt, wie eine HTML-Datei mithilfe eines Speicherstroms in eine DOCX-Datei umgewandelt werden kann.

 1// Convert HTML to DOCX 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 DOCX File Format!</h1>", ".");
 8
 9// Convert HTML to DOCX using the MemoryStreamProvider
10Converter.ConvertHTML(document, new DocSaveOptions(), 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.docx")))
18{
19    memory.CopyTo(fs);
20}

Laden Sie die Bibliothek Aspose.HTML for .NET herunter, mit der Sie Ihre HTML-, MHTML-, EPUB-, SVG- und Markdown-Dokumente erfolgreich, schnell und einfach in die gängigsten Formate konvertieren können.

Aspose.HTML bietet einen kostenlosen Online HTML zu DOCX Konverter, der HTML in DOCX mit hoher Qualität, einfach und schnell konvertiert. Einfach hochladen, Ihre Dateien konvertieren und in wenigen Sekunden Ergebnisse erhalten!

Text “HTML zu DOCX Konverter”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.