Конвертировать HTML в Microsoft Word .doc в .NET - PullRequest
1 голос
/ 13 сентября 2010

Каков наилучший способ преобразования HTML в MS Word .doc в .NET?

Сторонние компоненты?

Ответы [ 2 ]

1 голос
/ 13 сентября 2010

MS предупреждает против автоматизации Word, когда он не отслеживается / не контролируется / не контролируется конечным пользователем, например, потому что может появиться окно сообщения; так что если вы хотите сделать это на сервере, то сторонний компонент может оказаться лучше, чем автоматизировать Word.

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

Также обратите внимание, что Word может открывать HTML: поэтому в некоторой (возможно, незначительной) степени HTML уже является документом Word.

1 голос
/ 13 сентября 2010

попробуйте использовать Office Interop

    private void _convetHTML2Doc( string FileNameUpload)
{
    string filePath = Server.MapPath("~/htmlfile");
    object missing = Type.Missing;
    object FileName = @"D:\" + "\\" + FileNameUpload;
    object readOnly = true;
    m_word = new Application();

    m_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);
    string newfilename = filePath + "\\" + FileNameUpload.Replace(".html", ".doc");
    object o_newfilename = newfilename;

    object o_encoding = Microsoft.Office.Core.MsoEncoding.msoEncodingUTF8;

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

    object o_endings = Microsoft.Office.Interop.Word.WdLineEndingType.wdCRLF;
    m_word.ActiveDocument.SaveAs(ref o_newfilename, ref o_format, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                                     ref missing, ref missing, ref o_encoding, ref missing, ref missing, ref o_endings, ref missing);
    m_word.Quit(ref missing, ref missing, ref missing);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(m_word);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...