Не удается преобразовать.docx со встроенными изображениями в.html с Interop.Word

У меня есть файл.docx с такими полями:

{INCLUDEPICTURE \ d "ooxWord: //media/image1.jpg" * MERGEFORMATINET}

{INCLUDEPICTURE \ d "ooxWord://media/image2.jpg" * MERGEFORMATINET}

Я хочу преобразовать файл.docx в.html. Когда я делаю это с MS Word, создается новый файл.html. Также создается папка {имя_файла}_files. Эта папка содержит изображения, на которые.html имеет ссылки в IMG-тегах.

Я использую Interop.Word. Проблема в том, что когда я вызываю SaveAs в коде, только первое изображение имеет правильный src с путем к папке. Второе изображение имеет "ooxWord://media/image2.jpg" в src. Поэтому я могу видеть только первое изображение, когда я открываю.html в браузере. Код:

Microsoft.Office.Interop.Word._Application wrdApp = new Microsoft.Office.Interop.Word.Application();
wrdApp.Visible = false;
Microsoft.Office.Interop.Word._Document wrdDoc = wrdApp.Documents.Open(sourcePath);
wrdDoc.SaveAs2(targetPath, WdSaveFormat.wdFormatFilteredHTML);
wrdDoc.Close();
wrdApp.Quit();

Я могу использовать только Interop. У вас есть идеи как это исправить? Может быть, я должен передать специальные параметры?

1 ответ

Я могу предложить использовать другую библиотеку для этой задачи. Spire.Doc бесплатен, быстрее, проще и надежнее, чем Interop.

Смотрите пример, буквально решающий вашу проблему ниже.

https://www.e-iceblue.com/Tutorials/Spire.Doc/Spire.Doc-Program-Guide/Word-to-HTML-Convert-Word-to-HTML-with-C-VB.NET.html

Другие вопросы по тегам