Как программно преобразовать .doc в .htm?

Я хочу преобразовать .doc в .htm в С#. Если я использую Microsoft.Office.Interop.Word, я получаю исключение:

Не удалось получить фабрику классов COM для компонента с CLSID {000209FF-0000-0000-C000-000000000046} из-за следующей ошибки: 80040154 Класс не зарегистрирован (исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

Любые решения?

[Возможный дубликат: C# преобразовать .doc в .htm, но это не решает мою проблему.]


person user1340852    schedule 02.04.2013    source источник
comment
Вы можете показать свой код здесь ..   -  person Soner Gönül    schedule 02.04.2013
comment
у вас установлен ms-office на вашем компьютере ..?   -  person Sachin    schedule 02.04.2013
comment
У меня нет кода для этого прямо сейчас, но я получил код для преобразования doc в .xps и для этого, я думаю, мне понадобятся те же библиотеки, в самой первой строке есть проблема: Microsoft.Office.Interop.Word.Application wordApplication = новый Microsoft.Office.Interop.Word.Application();   -  person user1340852    schedule 02.04.2013
comment
Да, у меня стартовая версия 2010.   -  person user1340852    schedule 02.04.2013
comment
Хорошо, я понял, что начальная версия Word не поддерживает библиотеки COM, так что есть ли решение этой проблемы? или есть способ преобразовать документ в htm без использования Microsoft.Interop.Word?   -  person user1340852    schedule 02.04.2013
comment
@ user1340852 — Решение состоит в том, чтобы не использовать начальную версию Word, если вы хотите использовать библиотеку Office COM.   -  person Security Hound    schedule 02.04.2013


Ответы (2)


Что вы можете сделать, так это прочитать файл doc/docx с помощью сторонней dll, а затем записать данные в формат html, используя HtmlTextWriter

проверьте эти вопросы stackoverflow:

Преобразовать слово в pdf с помощью бесплатной сторонней библиотеки dll

Чтение документа и файлы docx с использованием C# без установки MS Office на сервере

Ссылки, указанные в приведенных выше вопросах:

для документа:

http://docx.codeplex.com/

http://msdn.microsoft.com/en-us/library/bb656295%28office.12%29.aspx

для документа:

http://npoi.codeplex.com/

person th1rdey3    schedule 02.04.2013

CLSID {000209FF-0000-0000-C000-000000000046} объекта должен быть в реестре.

Сборки взаимодействия представляют собой оболочки, использующие DLL-библиотеки COM, предоставляемые MS Office. Итак, на каком-то уровне вы используете COM, хотя он для вас прозрачен.

Пожалуйста, проверьте, установили ли вы компоненты взаимодействия для MS Office. См. эту ссылку http://msdn.microsoft.com/en-us/library/aa159923%28office.11%29.aspx Вы можете проверить, установлены ли у вас сборки взаимодействия для MS Word.

person Vishwanath Kamath    schedule 02.04.2013