Как создать приложение для заполнения форм / слияния документов с Winforms или WPF? - PullRequest
3 голосов
/ 24 марта 2010

Мне нужно создать приложение, которое принимает пользовательские входные данные (такие как имя, адрес, сумма и т. Д.), Затем объединяет их с предварительно загруженным шаблоном документа (формой заказа) и затем печатает этот объединенный документ. Я могу использовать Windows Forms или WPF для этого проекта.

Есть предложения, как лучше к этому подойти? У меня есть опыт разработки Winforms, но я понятия не имею, как справиться с объединением данных в документ для печати. ​​

Ответы [ 2 ]

3 голосов
/ 24 марта 2010

WPF отлично подходит для этого.

Вы можете создавать шаблоны документов из элементов пользовательского интерфейса WPF, таких как Page или UserControl. Настройте шаблон так, как если бы вы настраивали любой пользовательский интерфейс в конструкторе VS. Определите, в какой форме будут храниться ваши данные (это будет ваш DataContext), а затем свяжите их с открытыми свойствами. Затем вы можете поместить свой объединенный шаблон в FixedPage и добавить его в документ XPS. Вы можете распечатать это очень легко или сохранить на диск.

Упрощенный алгоритм:

  • Создать форму ввода данных.
  • Создать тип, который будет содержать данные из формы (вызовите этот тип Foo)
  • Создание шаблона страницы, который связывается с Foo (если экземпляром Foo является DataContext)
  • Привязать форму к экземпляру Foo
  • Пользователь должен заполнить форму (и, следовательно, экземпляр Foo)
  • Создайте экземпляр вашего шаблона (предположим, что это страница)
  • Установить Page.DataContext = fooInstance;
  • Добавьте страницу в FixedPage, затем добавьте ее в фиксированный документ
  • Сохранить исправленный документ в документе XPS
  • Сохраните документ XPS или отправьте его в PrintQueue

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

0 голосов
/ 24 марта 2010

Вам необходимо использовать Mail Merge. Почтовое слияние - это метод получения данных из базы данных, электронной таблицы или другой формы структурированных данных и вставки их в документы, такие как письма, почтовые ярлыки и теги имен. Начните с этой статьи.

...