Как написать простой конструктор для печатных отчетов - PullRequest
3 голосов
/ 01 мая 2011

В настоящее время у меня есть несколько отчетов, которые я печатаю из своих приложений Forms.Однако создание печатных отчетов только с помощью встроенных методов печати .NET очень утомительно.Даже простая печать простой таблицы на нескольких страницах с небольшим форматированием - это задача на пару часов (если она должна хорошо выглядеть).

Мне нужен WYSIWYG-конструктор для макетовтак что я хотел бы написать один.Это не должно быть для конечных пользователей, но для меня, как для разработчика, просто создается макет, который будет выглядеть в отчете с различными механизмами / шрифтами / изображениями / форматами и т. Д., И не нужно делать это пробным способом.& ошибка в коде (и перезапустите приложение миллион раз).

Итак, мои конкретные вопросы:

  1. Что бы я использовал в качестве холста для редактирования и отображенияотчет?Элемент управления изображением / растровое изображение, на которое я опираюсь, как на печатном документе?Есть ли лучший способ?

  2. Сравнимо ли рисование на форме с рисунком на печатной странице?Как насчет различий в разрешении принтера и экрана?

  3. Как получить настоящий WYSIWYG?Должен ли я получить настройки принтера и создать свой холст с тем же разрешением?Есть что-то еще, чтобы рассмотреть?

Я знаю, что есть дизайнеры отчетов вокруг, но я думаю, что иногда полезно понять основные принципы работы того, что вы используете, и реализация их для менялучший способ сделать это.

Я знаю, что это не конкретный вопрос A, на который всегда остается ответ B, но если бы это было так, я довольно быстро нашел бы ответ в Google.

Заранее спасибо!

Ответы [ 3 ]

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

Возможно, вы захотите сэкономить время и использовать HTML-дизайнер Visual Studio в качестве редактора WYSIWYG.

В настоящее время я использую ASP.NET MVC 3 в качестве простого механизма создания отчетов.Вы можете использовать шаблон MVC, чтобы по-настоящему отделить источник данных отчетов (модель) и рендеринг (представление), используя Visual Studio в качестве дизайнера отчетов.

Из приложения вы можете легко вызывать свои действия с помощью опционального отчета.параметры.Например:

http://localhost/Report/Customer/Orders/1

Вы просто получаете возвращаемую строку из метода DownloadString WebClient, и вы генерируете отчет.

Есть некоторые недостатки при использовании HTML,В основном это трудности с определением того, когда страница сломается, но с помощью кода в вашем представлении вы можете рассчитать количество повторяющихся элементов, добавить страницу разбиения CSS и перезапустить заголовок таблицы на следующей странице.

Вы можете достичь всего, от графики до таблицы, вы даже можете создать ссылку на другие отчеты.

HTH.

0 голосов
/ 14 мая 2013

Печать отчетов в Windows Forms http://msdn.microsoft.com/en-us/library/ms996472.aspx

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

Я не могу много сказать о разработке WYSIWYG-редактора, но я написал несколько собственных внутренних механизмов отчетности для использования нашей командой разработчиков.

Есть два основных способа создания отчетов. Первый - это использование PDFsharp (с лицензией MIT) для ручной разметки страниц, что не для слабонервных.

Второй использует библиотеку Winnovative HTML-PDF (не бесплатную, но бесплатную) , которая использует текущую установленную версию IE, чтобы сделать макет и выплюнуть PDF. Похоже, они недавно выпустили новую версию под названием EVO PDF , которую я никогда раньше не использовал. *

Для решения HTML в PDF он поддерживает JavaScript, поэтому вы можете добавлять диаграммы из библиотек JavaScript, таких как flot или jqplot .

* Я не связан с Winnovative.

...