Я работаю над приложением, которое генерирует относительно большой объем вывода Word. В настоящее время мы используем службы Word Interop для создания документов, но это довольно медленно, особенно в старых (до 2007 года) версиях Office. Мы хотели бы ускорить поколение.
Я еще не провел много профилирования, но я уверен, что проблема в том, что мы делаем тонны COM-вызовов. Я надеюсь, что профилирование приведет к подмножеству вызовов, которые выполняются медленнее, чем другие, но моя интуиция подсказывает мне, что это, вероятно, вопрос служебной информации COM (или служебной нагрузки Word Interop), а не нескольких медленных вызовов.
Кроме того, продукт может генерировать вывод HTML, и этот процесс (а) очень быстрый, и (б) использует почти те же самые пути кода, только с другим подклассом для специфических для HTML частей функциональности. Так что я уверен, что наш алгоритм не является принципиально медленным.
Итак ... Я ищу предложения по альтернативным способам ускорения генерации файлов Word.
Мы не можем просто переименовать сгенерированные файлы HTML в .doc, и мы не можем вместо этого генерировать RTF - в обоих случаях важная информация о форматировании теряется, а в случае RTF встроенная графика не работает надежно .
Один из подходов, которые мы оцениваем, заключается в программном генерировании и открытии файла Word (посредством взаимодействия) из шаблона, в котором есть макрос, который знает, как использовать плоский файл и создать требуемый вывод. Нас интересуют отзывы об этом подходе, а также любые другие идеи по ускорению процесса.