Практическое руководство. Вызов диалогового окна печати
Обновлен: Ноябрь 2007
Чтобы обеспечить возможность печати из приложения, необходимо создать и открыть объект PrintDialog.
Пример
Элемент управления PrintDialog обеспечивает одну точку входа для Пользовательский интерфейс, конфигурацию и отправку задания XPS. Элемент управления прост в использовании и может быть создан с помощью разметки Язык XAML (Extensible Application Markup Language) или кода. В следующем примере показано создание экземпляра, открытие элемента управления в коде и печать из него. Также показано, как убедиться в том, что окно предоставит пользователям возможность установки конкретного диапазона страниц. В примере кода предполагается, что в корневой папке диска C: имеется файл FixedDocumentSequence.xps. Этот файл находится в папке \Content после загрузки полного примера из Пример использования объекта PrintDialog.
private void InvokePrint(object sender, RoutedEventArgs e)
{
// Create the print dialog object and set options
PrintDialog pDialog = new PrintDialog();
pDialog.PageRangeSelection = PageRangeSelection.AllPages;
pDialog.UserPageRangeEnabled = true;
// Display the dialog. This returns true if the user presses the Print button.
Nullable<Boolean> print = pDialog.ShowDialog();
if (print == true)
{
XpsDocument xpsDocument = new XpsDocument("C:\\FixedDocumentSequence.xps", FileAccess.ReadWrite);
FixedDocumentSequence fixedDocSeq = xpsDocument.GetFixedDocumentSequence();
pDialog.PrintDocument(fixedDocSeq.DocumentPaginator, "Test print job");
}
}
После открытия диалогового окна пользователи смогут выбрать один из принтеров, установленных на компьютере. Они также будут иметь возможность выбора Средство Microsoft для записи XPS-документов для создания файла Формат XPS (XML Paper Specification) вместо печати.
Примечание. |
---|
Элемент управления System.Windows.Controls.PrintDialogWPF, рассматриваемый в этом разделе, не следует путать с компонентом System.Windows.Forms.PrintDialogWindows Forms. |
Строго говоря, метод PrintDocument можно использовать даже без открытия диалогового окна. Из этого следует, что элемент управления может использоваться в качестве невидимого компонента печати. Однако, из соображений производительности лучше использовать метод AddJob или один из многих методов Write и WriteAsyncXpsDocumentWriter. Дополнительные сведения об этом см. в разделах Как печатать файлы XPS программным способом и Печать документа XPS.
См. также
Основные понятия
Документы в Windows Presentation Foundation