конвертировать HTML в MSWord - PullRequest
2 голосов
/ 09 июня 2009

Я ищу пример кода, который конвертирует HTML в MSWord. C # код приветствуется. Ввод HTML-данных в виде строки, содержимое которой представляет собой HTML-документ, я хочу узнать, как использовать .Net Word (Office) SDK для преобразования.

спасибо заранее, George

Ответы [ 2 ]

4 голосов
/ 09 июня 2009

Это во многом зависит от характера HTML-документа, который вы пытаетесь преобразовать. Один простой способ - использовать автоматизацию Word, чтобы открыть документ .html, а затем сохранить его как документ .doc.

        object readOnly = false;
        object isVisible = true;
        object missing = System.Reflection.Missing.Value; // Values we don't care about
        object fileName = "C:/webpage.htm";
        object newFileName = "C:/webpage.doc";       

        Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();

        // word.Visible = true; // To see what's happening

        Microsoft.Office.Interop.Word.Document document = word.Documents.Open(ref fileName, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

        document.Activate();

        object saveFormat = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatDocument;

        document.SaveAs(ref newFileName, ref saveFormat, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

        document.Close(ref missing, ref missing, ref missing);

Примечание

  • Вы должны добавить ссылку на Microsoft.Office.Interop.Word или что-то подобное
  • Количество ref отсутствует аргументов зависит от того, какую версию Word вы используете
  • Вы должны использовать полные пути в имени файла, так как экземпляр Word запускается из системной папки.
0 голосов
/ 12 июня 2009

Помните, что механизм рендеринга MSIE (или Word в этом отношении - AFAIK MS Office по-прежнему использует свой собственный) не настолько надежен, как вы этого хотели бы, поэтому все, кроме простого форматирования, в Word может выглядеть иначе документа, чем в вашем браузере.

Alsoplustoo, Интерпретация Word формата DOC может отличаться от вашего конвертера - у OO.o была такая проблема целую вечность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...