majidz Ответов: 1

Вставьте HTML в MS word с помощью ASP.NET с#


Я хочу вставить html в файл MS word с помощью asp.net c#.

Я использовал Microsoft.Офис.Интеропт.Слово. Это мой код :

Word.Application wordApplication = new Word.Application();

Word._Document wordDocument = wordApplication.Documents.Add();
Word.Selection selection = wordApplication.Selection;
selection.InsertFile("MyHtmlFilePath.htm");

// Save the document to it's output file.
wordDocument.SaveAs(ref outputFile);


Но есть проблема, если у меня есть строка с семейством шрифтов Time New Roman , то после вставки html в word эта строка не имеет времени New Roman font family.

Метод InsertFile сталкивается с проблемой с двумя словами или несколькими словами семейства шрифтов (например, Times New Roman, Comic Sans MS , ...)

Я также не хочу использовать сторонние библиотеки dll, такие как aspose и ... .

Заранее спасибо за вашу помощь.

Что я уже пробовал:

Я хочу использовать Microsoft.Офис.Интеропт.Слово.

с помощью aspose dll я решил эту проблему, но Я не хочу использовать сторонние библиотеки dll.
Я пытаюсь скопировать html в буфер обмена и вставить в файл word с помощью кода c#, но не могу.

Пожалуйста, помогите мне решить эту проблему,

1 Ответов

Рейтинг:
1

Dave Kreskowiak

Цитата:
Я хочу использовать Microsoft.Офис.Интеропт.Слово.

Ты не можешь. Руководство не поддерживает сервисы и веб-приложения. Office не является реентерабельным, а это означает, что непредсказуемые вещи происходят, если вы вводите код Office из двух разных запросов одновременно.

Кроме того, есть некоторые функции, которые приводят к появлению диалогового окна на рабочем столе пользователя. Ну, это сервис и веб-приложения, которые диалог всплывает на сервере, вечно ожидая ответа, который никогда не придет.

Используйте один из SDK, например OpenXML SDK, ClosedXML SDK, или что-то еще, что вы хотите сделать. Вам придется обратиться к документации по SDK, который вы используете, чтобы узнать, как прикрепить файл к документу Word.