Преобразование HTML в документ Word с помощью C#

HTML (язык гипертекстовой разметки) — это ведущий формат файлов для веб-страниц, поддерживаемый всеми браузерами. В различных случаях нам может потребоваться преобразовать HTML-файлы или контент с активных веб-страниц в документы Word (DOC, DOCX, DOT, DOTM, [DOCM 7). Это помогает редактировать текст веб-страниц HTML или применять форматирование текста. В этой статье мы узнаем, как преобразовать HTML в документ Word с помощью C#.

В этой статье должны быть раскрыты следующие темы:

C# API для преобразования HTML в DOCX — скачать бесплатно

Для преобразования файлов HTML или веб-страниц в форматы файлов обработки Word мы будем использовать API Aspose.Words for .NET. Это комплексное решение для создания, редактирования, преобразования или анализа документов Word программными средствами. Пожалуйста, загрузите DLL API или установите его с помощью NuGet.

Install-Package Aspose.Words

Преобразование HTML в Word на C#

Мы можем легко преобразовать HTML-файлы в документы Word программным путем, выполнив следующие действия:

  1. Загрузите файл HTML с помощью класса Document.
  2. Вызовите метод Document.Save(string, SaveFormat), чтобы сохранить файл HTML как «output.docx».

Перечисление SaveFormat в методе Document.Save() указывает формат, в который вы хотите преобразовать файл HTML. В следующем примере кода показано, как преобразовать HTML-файл в DOCX с помощью C#.

// В этом примере кода показано, как преобразовать HTML-файл в документ Word с помощью C#.
// Загрузить файл HTML с помощью класса Document
Document document = new Document(@"C:\Files\sample.html");

// Преобразование файла HTML в формат Word DOCX
document.Save(@"C:\Files\output.docx", SaveFormat.Docx);
Convert HTML to Word in C#.

Преобразование веб-страницы в Word из URL-адреса в С#

Мы также можем преобразовать веб-страницу HTML непосредственно из активного URL-адреса в документ Word, выполнив следующие действия:

  1. Во-первых, загрузите содержимое веб-страницы в виде массива System.Byte с указанного URL-адреса.
  2. Затем инициируйте объект MemoryStream с объектом массива в качестве аргумента.
  3. Затем создайте экземпляр класса HtmlLoadOptions.
  4. После этого создайте экземпляр класса Document и инициализируйте его объектами MemoryStream и HtmlLoadOptions.
  5. Наконец, вызовите метод Document.Save(string, SaveFormat), чтобы сохранить файл HTML как «output.docx».

В следующем примере кода показано, как преобразовать веб-страницу HTML в DOCX с помощью C#.

// В этом примере кода показано, как сохранить веб-страницу HTML непосредственно из активного URL-адреса в документ Word с помощью C#.
// URL-адрес
string Url = "https://en.wikipedia.org/wiki/Aspose.Words";

// Определить параметры загрузки HTML 
HtmlLoadOptions options = new HtmlLoadOptions();

byte[] imageData = null;

// Загрузить содержимое с URL-адреса в виде массива байтов
using (var wc = new System.Net.WebClient())
    imageData = wc.DownloadData(Url);

// Преобразование массива байтов в поток
var urlStream =  new MemoryStream(imageData);

// Создайте экземпляр объекта Document
Document document = new Document(urlStream, options);

// Сохранить как DOCX
document.Save(@"C:\Files\output_url.docx", SaveFormat.Docx);

Преобразование строки HTML в Word с помощью C#

Мы можем динамически сгенерировать документ Word из строки HTML, выполнив следующие шаги:

  1. Во-первых, создайте экземпляр класса Document.
  2. Затем создайте экземпляр класса DocumentBuilder с объектом Document.
  3. Затем вставьте HTML в документ, используя метод DocumentBuilder.InsertHtml(string).
  4. Наконец, сохраните документ Word, используя метод Document.Save(string, SaveFormat).

В следующем примере кода показано, как преобразовать строку HTML в DOCX с помощью C#.

// В этом примере кода показано, как создать документ Word из строки HTML с помощью C#.
// Создать новый документ
Document document = new Document();

// Создать конструктор документов
DocumentBuilder builder = new DocumentBuilder(document);

// Вставить HTML
builder.InsertHtml("<ul>\r\n" +
    "<li>Item1</li>\r\n" +
    "<li>Item2</li>\r\n" +
    "</ul>");

// Сохранить как DOCX
document.Save(@"C:\Files\html-string-as-word.docx", SaveFormat.Docx);

Получить бесплатную лицензию

Попробуйте API без ознакомительных ограничений, запросив бесплатную временную лицензию.

Вывод

В этой статье мы узнали, как преобразовать HTML в документ Word с помощью C#. Мы также видели, как программно конвертировать живые веб-страницы из URL-адреса в файлы Word. Кроме того, вы можете узнать больше об Aspose.Words for .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также