Сведение к минимуму усилий при внедрении печатных отчетов

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

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

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

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

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

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

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


person Jacob    schedule 23.12.2009    source источник


Ответы (3)


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

person Annie    schedule 23.12.2009
comment
Боже мой, это выглядит идеально. Мне придется поэкспериментировать с этим. Вы лично использовали этот продукт? Если это так, было бы неплохо, если бы вы подробно рассказали о своем опыте использования этого. - person Jacob; 23.12.2009
comment
Я использовал для очень большого проекта и имел большой опыт работы с ним. Вы можете просто создать любой HTML/CSS, который вам нравится, и он сделает PDF. Поддерживает CSS, а также любой браузер, который я использовал. В документации есть полезная информация о том, как он поддерживает постраничные мультимедиа: princexml.com/doc/7.0 - person Annie; 23.12.2009
comment
Черт, 3800 долларов США за лицензию на сайт. Возможно, оно того стоило бы, если бы оно могло ускорить наш процесс разработки, но фух! - person Jacob; 23.12.2009
comment
Сейчас я работаю над внедрением решения с использованием этого продукта. На данный момент он кажется гораздо лучшим инструментом для наших нужд. - person Jacob; 29.12.2009

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

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

Вариант № 3: Бегите, спасая свою жизнь (возможно, это не вариант).

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

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

person Horcrux7    schedule 23.12.2009