2009-12-23 2 views
5

Как вы минимизируете боль в процессе разработки, когда дело доходит до отчетности?Минимизация боли при внедрении отчетов для печати

Для веб-фреймворков существует довольно простой способ как для создания контента, так и для его графического проектирования; контент представлен семантически через HTML, а дизайн отдельно задается через CSS. И браузеры вполне согласуются с тем, как они выводят результат (и несоответствия хорошо известны и могут быть запланированы). Есть даже редакторы WYSIWYG, чтобы помочь менее грамотным дизайнерам, ориентированным на CSS.

Но что мы будем делать с контентом?

В одной компании я создал процесс, который работал следующим образом: скрипт генерировал семантическое представление через XML. XML был передан через XSLT для создания документа XML-FO. Затем это было передано другому инструменту (Apache FOP, я полагаю) для создания PDF-файла. Это хорошо сработало для этой компании.

В этой компании, однако, внешний вид вывода имеет значение для управления, и у нас есть графический дизайнер. В настоящее время мы используем инструмент отчетности (XtraReports из Developer Express, версия 8.1). Это неплохо; он выводится в различные форматы, имеет конструктор WYSIWYG, отчеты реализуются через классы C# и поддерживает привязку данных к наборам данных (к сожалению, не POCO). Тем не менее, у нас есть некоторые основные болевые точки с этой установкой:

  • Структура отчетности имеет серьезные ограничения, как вы можете выложить и группировать группы отчетности
  • презентабельно элементов, особенно диаграммы, не имеет возможности нам нужны тонкой настройки и достижения внешнего вида наших макетов.
  • Нет никакого способа разделить стили и макет среди отчетов, похожих на то, что мы можем получить через CSS.
  • Хорошая возможность многоразового использования очень трудно реализовать. Таким образом, мы получаем много копий & наследование наследования функциональности; это плохая новость, когда нам нужно делать радикальные изменения во всех отчетах.

Теперь, может быть, есть какая-то футляр для kick-ass, которая может устранить боли в структурах отчетности, но я предполагаю, что у всех у них есть свои слабости. У вас есть каркас или процесс, который хорошо работает для вас и уменьшает точки боли, присущие отчетности?

ответ

1

Prince XML - действительно классный инструмент, который позволяет использовать HTML или XML в стиле CSS (включая CSS paged media для печати) и создавать PDF-файлы из него.

+0

Мое доброту, что выглядит идеально. Мне придется поэкспериментировать с этим. Вы лично использовали этот продукт? Если это так, было бы неплохо, если бы вы разработали свой опыт использования этого. – Jacob

+0

Я использовал для очень большого проекта и имел большой опыт работы с ним. Вы можете просто создать любой HTML/CSS, который вам нравится, и он делает PDF-файл. Поддерживает CSS, а также любой браузер, который я использовал. В документации есть хорошая информация о том, как она поддерживает выгружаемые носители: http://princexml.com/doc/7.0/ – Annie

+0

Dang, 3800 долларов США за лицензию сайта. Может стоить того, если это может ускорить наш процесс разработки, но фу! – Jacob

1

Вариант № 1: Adobe Acrobat действительно приятный. Вы можете создавать PDF-файлы с поддержкой формы, а затем использовать что-то вроде PDFSharp для управления PDF-документом. Вы можете создать шаблонный PDF-файл, в который вы сбрасываете свой сгенерированный материал. Я сделал это раньше, и это было довольно успешно. Я также хорошо использовал объекты POCO.

Вариант № 2: Вы можете приступить к созданию документов XPS, которые в любом случае основаны на XML. И они могут быть легко преобразованы в PDF, если это необходимо.

Вариант № 3:. Выполнить для вашей жизни (не может быть вариант)

+0

Вариант 3 кажется самым разумным вариантом. Однако мне также нравится вариант №1; однако я не уверен, как изменить PDF, чтобы эффективно использовать его в качестве шаблона. Не могли бы вы рассказать об этом или дать ссылку на хорошую статью, если это что-то обычно делается? – Jacob

0

i-net Clear Reports хороший продукт. Он основан на Java, но вы также можете работать с ASP.NET. Есть мост. Версия .NET работает, если вы хотите работать с POCO. Потому что версия Java может работать с POJO, что будущая версия .NET также будет работать с POCO.

Смежные вопросы