Для нас оказалось весьма полезным использовать шаблоны, хранящиеся в формате открытого документа.Затем мы анализируем содержащиеся в нем теги сценария (text: script) для создания таблиц стилей XSL для содержимого и стилей.
Данные хранятся в базе данных Postgres и форматируются в виде XML непосредственно базой данных .Когда XML преобразуется с использованием таблиц стилей XSL, результатом будет содержимое документов ODF.
Эти сгенерированные документы ODF затем обрабатываются с помощью LibreOffice для генерации широкого диапазона форматов вывода.
Плюсы этого рабочего процесса:
- полный SQL, доступный для подготовки данных к обработке
- быстрая обработка данных, поскольку хорошая база данных поддерживает это
- знакомые приложения для обработки текстаслужить редактором шаблонов (LibreOffice, OpenOffice, KWord, Mircosoft Word,…)
- довольно хорошая верстка (если вас устраивают макеты обычных офисных приложений)
- XSL, поскольку язык шаблонов обеспечивает большую гибкость
- может создавать электронные таблицы и презентации в дополнение к текстовым документам
- на основе стандартизированных компонентов и форматов
Минусы:
- некоторое программное обеспечение, необходимое для реализации описанных шагов (мы используем самостоятельно разработанное приложение, ноМощный ODF-XSLT должен сделать, чтобы опробовать подход)
- требует новых компонентов в настройке, в противном случае Microsoft-центрированной (возможно, применяется в соответствии с технологиями, упомянутыми в вопросе)
- знание SQL и XSL, необходимых для сложных заданий
Вам необходимо знать, что эта настройка предназначена для использования с сервером для генерации отчетов и, следовательно, сложна для первоначальной настройки.
Я бы не согласился использовать HTML и JavaScripts для генерации отчетов из-за того, что HTML не подходит для печатных макетов.Вместо этого просто используйте веб-приложение, которое вводит данные и запускает генерацию отчетов с настройкой, аналогичной описанной выше.
Возможно, стоит также изучить возможность создания LaTeX файлов из XSL вместо ODF.если вы стремитесь к превосходной планировке.