Converti HTML in documento Word usando C#

HTML (HyperText Markup Language) è un formato di file leader per le pagine Web supportato da tutti i browser. In vari casi, potrebbe essere necessario convertire file HTML o contenuti da pagine Web live in documenti Word (DOC, DOCX, DOT, DOTM, DOCM ). Aiuta a modificare il testo di pagine Web HTML o ad applicare la formattazione del testo. In questo articolo impareremo come convertire HTML in un documento Word usando C#.

In questo articolo verranno trattati i seguenti argomenti:

API C# per convertire HTML in DOCX — Download gratuito

Per convertire file HTML o pagine Web in formati di file di elaborazione testi, utilizzeremo l’API Aspose.Words for .NET. È una soluzione completa per creare, modificare, convertire o analizzare documenti Word in modo programmatico. Si prega di scaricare la DLL dell’API o installarla utilizzando NuGet.

Install-Package Aspose.Words

Converti HTML in Word in C#

Possiamo convertire facilmente file HTML in documenti Word in modo programmatico seguendo i passaggi indicati di seguito:

  1. Carica un file HTML usando la classe Document.
  2. Chiama il metodo Document.Save(string, SaveFormat) per salvare il file HTML come “output.docx”.

L’enumerazione SaveFormat nel metodo Document.Save() specifica il formato in cui si desidera convertire il file HTML. L’esempio di codice seguente mostra come convertire un file HTML in DOCX usando C#.

// Questo esempio di codice mostra come convertire un file HTML in un documento di Word usando C#.
// Carica il file HTML utilizzando la classe Document
Document document = new Document(@"C:\Files\sample.html");

// Converti file HTML in formato Word DOCX
document.Save(@"C:\Files\output.docx", SaveFormat.Docx);

Converti una pagina Web in Word da URL in C#

Possiamo anche convertire una pagina Web HTML direttamente da un URL live in un documento Word seguendo i passaggi indicati di seguito:

  1. Innanzitutto, scarica il contenuto della pagina Web come array System.Byte dall’URL specificato.
  2. Quindi, avvia l’oggetto MemoryStream con un oggetto array come argomento.
  3. Quindi, crea un’istanza della classe HtmlLoadOptions.
  4. Successivamente, crea un’istanza della classe Document e inizializzala con gli oggetti MemoryStream e HtmlLoadOptions.
  5. Infine, chiama il metodo Document.Save(string, SaveFormat) per salvare il file HTML come “output.docx”.

L’esempio di codice seguente mostra come convertire una pagina Web HTML in DOCX usando C#.

// Questo esempio di codice mostra come salvare una pagina Web HTML direttamente da un URL attivo in un documento di Word usando C#.
// L'URL
string Url = "https://en.wikipedia.org/wiki/Aspose.Words";

// Definisci le opzioni di caricamento HTML 
HtmlLoadOptions options = new HtmlLoadOptions();

byte[] imageData = null;

// Scarica il contenuto dall'URL come array di byte
using (var wc = new System.Net.WebClient())
    imageData = wc.DownloadData(Url);

// Converti matrice di byte in streaming
var urlStream =  new MemoryStream(imageData);

// Crea un'istanza dell'oggetto Document
Document document = new Document(urlStream, options);

// Salva come DOCX
document.Save(@"C:\Files\output_url.docx", SaveFormat.Docx);

Converti una stringa HTML in Word usando C#

Possiamo generare un documento Word da una stringa HTML in modo dinamico seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe Document.
  2. Quindi, crea un’istanza della classe DocumentBuilder con l’oggetto Document.
  3. Quindi, inserisci l’HTML nel documento usando il metodo DocumentBuilder.InsertHtml(string).
  4. Infine, salva il documento di Word usando il metodo Document.Save(string, SaveFormat).

L’esempio di codice seguente mostra come convertire una stringa HTML in DOCX usando C#.

// Questo esempio di codice illustra come generare un documento di Word da una stringa HTML usando C#.
// Crea un nuovo documento
Document document = new Document();

// Crea un generatore di documenti
DocumentBuilder builder = new DocumentBuilder(document);

// Inserisci HTML
builder.InsertHtml("<ul>\r\n" +
    "<li>Item1</li>\r\n" +
    "<li>Item2</li>\r\n" +
    "</ul>");

// Salva come DOCX
document.Save(@"C:\Files\html-string-as-word.docx", SaveFormat.Docx);

Ottieni una licenza gratuita

Prova l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo abbiamo imparato come convertire HTML in un documento Word usando C#. Abbiamo anche visto come convertire le pagine Web live da un URL in file Word in modo programmatico. Inoltre, puoi saperne di più su Aspose.Words per .NET API usando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche