Как разработать и напечатать специальную "бумагу для подачи заявления" в WPF?

На самом деле это физический документ - "страховая форма", в которой клиент страхового полиса заполняет свою информацию. До сих пор клиент должен был написать всю запрошенную информацию в пустых полях на бумаге, используя ручку, конечно. Но я решил разработать приложение в WPF, с помощью которого агент страховой компании может легко "набрать" желаемую информацию и затем распечатать ее на той же "страховой форме".

Поэтому мне нужно создать пустую страницу формата А4 и разместить несколько "текстовых полей" в определенных местах на странице. Позвольте пользователю настроить размер и положение их на странице и заполните текст. Затем распечатайте страницу.

Вопрос в том, как мне это сделать? Я понятия не имею, что это за инструмент в C# .NET и WPF, который я могу использовать. System.Drawing может быть?

2 ответа

Используя Visual Studio, вы должны создать новое приложение WPF, добавить новый UserControl в проект и внутри (XAML of), который UserControl в визуальном дизайнере студии вы бы добавили корневую панель макета, такую ​​как StackPanel или Grid, и на этой панели вы добавили бы свои Label и TextBox ( CheckBox, RadioButton и т. д.), которые пользователь должен заполнить.

Затем вы поместите этот UserControl в главное окно (вероятно, внутри ScrollViewer, поскольку вся страница может не помещаться на экране) вместе с кнопкой печати или пунктом меню.

Вы можете легко распечатать это целое UserControl используя PrintVisual в обработчике события click кнопки. Вы должны сделать это довольно быстро, если это все, что вам нужно.

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

Вопрос в том, как выглядит ваша форма. Если вы ожидаете что-то разработанное - используйте обычные объекты, создайте новое окно и распечатайте окно, не показывая. Что-то вроде:

var window = new YourWindow();

window.Show();

PrintDialog pd = new PrintDialog();

pd.PrintVisual(window,"MyForm");

window.Close();

Разверните, Google Как распечатать окно wpf

Если вам нужен более постраничный документ (например, документ Word), вы можете использовать RichTextBlock. У него есть классы, которые позволяют вам макет. А затем распечатайте его как любое окно, или вы можете распечатать прямо из RichTextBlock.

У меня есть приложение, которое делает что-то похожее, для меня это еще сложнее, потому что печатная форма часто меняется.

Я получаю документ в виде Word, преобразую его в XAML с помощью надстройки wordplex, вносит некоторые изменения и легко создает формы.

Другие вопросы по тегам