Генерация документов Word - PullRequest
0 голосов
/ 01 марта 2011

Наш продукт будет поддерживать генерацию отчетов Word (и PDF), и я выясняю, какие методы выбрать.

В настоящее время я знаю, что такое автоматизация Word и OpenXML SDK. Есть плюсы и минусы каждого.

Есть ли у вас какой-либо опыт, предложения или комментарии по поводу этих двух или любых других методов? Или есть какие-либо сторонние утилиты / продукты (могут быть основаны на двух предыдущих методах или нет), которые мы можем использовать? Мы хотим проанализировать как можно больше возможных решений.

Ответы [ 4 ]

2 голосов
/ 01 марта 2011

Если у вас есть выбор, я бы выбрал OpenXML в любой день недели.Он имеет целый ряд преимуществ перед Office Automation.

Самым интересным для меня является тот факт, что он может работать на сервере, где Office Automation не может (потому что вам нужен экземпляр офиса на ПК / сервере, на котором запущено ваше программное обеспечение).Это подводит нас ко второму пункту: он не нуждается в экземпляре Office для создания ваших документов, где требуется автоматизация Office.(Это связано с тем, что автоматизация делопроизводства будет запускать экземпляр офиса в фоновом режиме и выполнять с ним все ваши действия).

Особенно, когда речь идет о больших документах или когда мы можем сгенерировать довольно много одновременно.Благодаря этому OpenXML будет работать намного лучше, чем Office Automation.

Короче говоря, автоматизация Office осталась в прошлом, openXML - это будущее;)

Если вы хотите погрузиться в OpenXML, взгляните сюда: OpenXML Developer

Удачи!

0 голосов
/ 09 сентября 2011

Если вы хотите построить свои документы в коде, OpenXML SDK определенно подходит.Это очень хорошо разработанный API, который полностью использует синтаксис типа LINQ.Если вы быстро освоите его, вы обнаружите, что он очень мощный и простой в использовании.

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

Один из лучших вариантов разработки в Word - это Наветренные отчеты (отказ от ответственности - я технический директор).С Windward вы получаете всю мощь и простоту Word для вашего дизайна, и новые документы или редакции существующих документов не требуют изменений в коде.Другими продуктами, использующими этот подход, являются XpertDoc и SoftArtisans (хотя оба имеют компонент кода с каждым шаблоном).

0 голосов
/ 09 мая 2011

Docmosis предлагает облачный сервис, который может выводить MS Word и PDF через простой API-интерфейс.Шаблоны отчетов или документов представляют собой документы Word или Open Office, которые могут редактировать и поддерживать не разработчики.После загрузки в систему ваше приложение может просто вызвать службу и указать данные для вставки в документ (ы) в формате JSON или XML.Затем результат передается обратно, отправляется по электронной почте или помещается в хранилище для последующего доступа.Вывод может быть doc, pdf или html.

Сервис предлагает широкий спектр шаблонных функций и поэтому поддерживает довольно сложные требования к отчетности.

Лучшее, что мы обнаружили, было то, что косметические изменения ввывод может быть обработан авторами документа, а не разработчиками, которые сэкономили нам кучу драгоценного времени (не говоря уже о сохранении здравомыслия наших разработчиков).

www.docmosis.com

0 голосов
/ 01 марта 2011

Для создания PDF я использовал http://www.html -to-pdf.net в прошлом.Это обеспечивает хорошую поддержку, и я полагаю, что ее можно использовать и для создания текстовых документов ... Посетите веб-сайт ...

Если вы используете веб-формы, я столкнулся с одной проблемой с HTTPS, которую я перечислилРешение здесь:

http://blogs.msdn.com/b/sajoshi/archive/2010/12/13/using-pdfconverter-http-www-html-to-pdf-net-with-https-in-asp-net-mvc.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...