Работа с Microsoft Office Word на серверной части - PullRequest
0 голосов
/ 03 ноября 2019

В настоящее время у меня есть приложение, которое изменяет документ Microsoft Office Word на стороне сервера. Добавление титульной страницы и замена некоторого текста. Для этого мы используем COM (объектная модель компонентов) для работы с файлами .docx / .doc. Мы обрабатываем более 1000 документов в день.

Проблема в том, что он очень медленный и иногда «зависает» и в основном не рекомендуется использовать таким образом.

Есть либиблиотека / компонент, который будет использоваться для управления и редактирования Microsoft Office Word на стороне сервера? Наиболее предпочтительно с golang или php, и если он может работать в Linux, это даже лучше, но может помочь только Windows, только lib.

Спасибо.

1 Ответ

1 голос
/ 04 ноября 2019

В статье Замечания по серверной автоматизации Office говорится следующее:

Все текущие версии Microsoft Office были разработаны, протестированы и настроены для работы в качестве конечныхпользовательские продукты на клиентской рабочей станции. Они предполагают наличие интерактивного рабочего стола и профиля пользователя. Они не обеспечивают уровень повторного входа или безопасности, который необходим для удовлетворения потребностей серверных компонентов, предназначенных для автоматической работы.

В настоящее время Microsoft не рекомендует и не поддерживает автоматизацию Microsoft Office. приложения из любого автоматического неинтерактивного клиентского приложения или компонента (включая ASP, ASP.NET, DCOM и NT Services), поскольку Office может демонстрировать нестабильное поведение и / или тупиковую блокировку при запуске Office в этой среде.

Если вы создаете решение, которое выполняется в контексте на стороне сервера, вы должны попытаться использовать компоненты, которые были сделаны безопасными для автоматического выполнения. Или вы должны попытаться найти альтернативы, которые позволяют хотя бы части кода работать на стороне клиента. Если вы используете приложение Office из серверного решения, приложению не хватит многих необходимых возможностей для успешной работы. Кроме того, вы будете рисковать стабильностью вашего общего решения.

Альтернативы

  1. Open XML SDK, см. Добро пожаловать в Open XML SDK 2.5для Office для получения дополнительной информации.

Microsoft настоятельно рекомендует разработчикам найти альтернативы автоматизации Office, если им необходимо разрабатывать решения на стороне сервера. Из-за ограничений в дизайне Office изменений в конфигурации Office недостаточно для решения всех проблем. Microsoft настоятельно рекомендует ряд альтернатив, которые не требуют установки Office на стороне сервера, и которые могут выполнять наиболее распространенные задачи более эффективно и быстрее, чем автоматизация. Прежде чем использовать Office в качестве серверного компонента в своем проекте, рассмотрите альтернативные варианты.

Большинство задач автоматизации на стороне сервера включают создание или редактирование документов. Office поддерживает новые форматы файлов Open XML, которые позволяют разработчикам создавать, редактировать, читать и преобразовывать содержимое файлов на стороне сервера. Эти форматы файлов используют пространство имен System.IO.Package.IO в Microsoft .NET Framework для редактирования файлов Office без использования самих клиентских приложений Office. Это рекомендуемый и поддерживаемый метод обработки изменений файлов Office из службы.

Если вы хотите работать со старыми форматами документов, вы можете использовать любые сторонние компоненты, предназначенные для выполнения на стороне сервера, например, Aspose.
...