Генерация и печать счета - PullRequest
       2

Генерация и печать счета

0 голосов
/ 23 февраля 2011

Я хотел бы создать счет-фактуру и распечатать его в фоновом режиме (без показа пользователю приложения), как только кассир получит деньги от клиента.

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

Кто-то предложил использовать Crystal Report и передать параметр, затем сгенерировать счет и распечатать его, но я не знаю, как это сделать технически.

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

1 Ответ

6 голосов
/ 23 февраля 2011

В WPF у вас есть много возможностей:

  • Печать через XPS, смотрите здесь для получения дополнительной информации. Это действительно гибкий и мощный, но и немного сложный. Здесь вы найдете короткий пример.
  • Создайте FlowDocument и распечатайте его. Этот способ более прост, имеет множество функций, а также обеспечивает хорошее качество печати. Однако у него есть конкретная цель: поддержка текущих документов. Поэтому это не всегда лучший выбор из-за ограничений форматирования.
  • Очень простая возможность использования PrintDialog.PrintVisual . При этом вы можете быстро распечатать содержимое визуального. Это хорошо для простого решения, но очень ограничено.
  • Используйте инструмент отчетности, такой как Microsoft Report Viewer . Вы также можете использовать его из WPF, и он очень мощный и бесплатный. Будьте осторожны, есть много разных версий. Я бы использовал самый новый (V3). Это версия VS2010 имеет встроенный конструктор.

Все эти способы можно использовать для распечатки без прямого взаимодействия с пользователем.

Вы написали: Я не знаю, как это сделать в WPF, я попытался создать пользовательский элемент управления и передать необходимые объекты и связать его с элементом управления DataGrid в этот пользовательский элемент управления и распечатать его. . Чтобы увидеть, как получается результат, возьмите PrintDialog.PrintVisual-метод, кажется, у вас также есть все, что вам нужно, и тогда вы увидите, соответствует ли он вашим потребностям. В противном случае выберите одну из других технологий.

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

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