Я разработал простое преобразование в PowerPoint (в изображения), чтобы отображать их в виде карусели. Поэтому я использовал
Interop.Microsoft.Office.Interop.PowerPoint
В моей среде разработки он работает нормально, но когда я публикую его в Azure на своем сервере IIS, кажется, что идентификатор не работает.
Исключение: System.Runtime.InteropServices.COMException (0x80040154): не удалось получить фабрику классов COM для компонента с CLSID {91493441-5A91-11CF-8700-00AA0060263B} из-за следующей ошибки: 80040154
Почему это работает до развертывания в IIS? Я безуспешно пытался установить powerpoint на сервер, не могли бы вы мне подсказать?
Итак, должен ли я разрабатывать приложение с использованием JavaEE или любого другого языка, кроме как вызывать его с помощью моего приложения ASP.Core?
Или я не могу просто установить Office / PowerPoint на свой сервер?
Если вы собираетесь поручить PowerPoint выполнять всю тяжелую работу, вам нужно будет установить его, но, как я уже упоминал, существуют проблемы с его запуском на сервере. Что касается разработки приложения, вы, по сути, создаете свою собственную версию PowerPoint. Кажется, это небольшая задача. Другим вариантом было бы подключить к сети обычный ПК, дать ему доступ к серверному диску, где хранятся входящие файлы PPT, написать код для «просмотра» каталога и выполнить экспорт в изображения на несерверном ПК.
Ну, было слишком много хлопот с использованием Microsoft COM: HRESULT_FAIL + Не все клиенты имеют Office + Office Server и т. д.
поэтому я просто использую это: https://help.syncfusion.com/file-formats/presentation/presentation-to-image
Бесплатную пробную версию можно использовать несколько раз или получить лицензионный ключ бесплатно.
FWIW, Microsoft не рекомендует и не поддерживает использование PPT или других программ Office на сервере. Я смутно припоминаю параметр на уровне сервера, который позволяет PPT работать в интерактивном режиме, что не было бы значением по умолчанию в серверной среде. Это может решить некоторые проблемы на стороне сервера; извините, я не могу вспомнить точное название настройки.