PrintTask Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет операцию печати, включающую печатаемое содержимое, а также предоставляет доступ к информации, описывающей способ печати содержимого.
public ref class PrintTask sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class PrintTask final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class PrintTask
Public NotInheritable Class PrintTask
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Комментарии
Объект PrintTask представляет операцию печати для приложений UWP. Приложение отвечает за создание Объекта PrintTask , запрашиваемого с помощью события PrintTaskRequested в объекте PrintManager . Чтобы создать PrintTask , необходимо указать имя задачи и делегат PrintTaskSourceRequestedHandler , который вызывается, когда пользователь будет готов начать печать.
Если пользователь решит не печатать задачу, она может быть завершена без запроса источника документа.
PrintTask содержит ссылку в виде свойства Source на источник документа печати, предоставленный приложением. Этот объект должен поддерживать интерфейс IPrintDocumentSource .
Кроме того , PrintTask содержит свойство Options , содержащее ссылку на объект PrintTaskOptions . Объект PrintTaskOptions предоставляет доступ к сведениям о нужном формате печатного содержимого. PrintTaskOptions также предоставляет методы, которые позволяют изменять аспекты пользовательского интерфейса печати. Например, PrintTaskOptions позволяет приложению определить, какие из поддерживаемых параметров отображаются на начальной странице интерфейса печати.
Задача печати проходит через определенный набор состояний после ее создания, и эти изменения состояния могут использоваться приложением для предоставления отзывов пользователю. Большинство переходов состояния представлены в событиях, создаваемых PrintTask. Задача печати создается в ответ на событие PrintTaskRequested в PrintManager с помощью метода CreatePrintTask объекта PrintTaskRequest . На этом этапе задача печати не может быть напечатана, так как содержимое для печати еще не предоставлено. Обычно событие PrintTaskRequested возникает, когда пользователь щелкает чудо-кнопку Устройства или приложение инициирует печать с помощью метода ShowPrintUIAsync в PrintManager.
После того как система определит, что задача будет напечатана, вызывается делегат PrintTaskSourceRequestedHandler для фактического получения ссылки на объект Document Source. На этом этапе PrintTask полностью инициализирована. Если пользователь решает не завершать печать, представленную объектом PrintTask , событие завершения вызывается с типом завершения "прервано".
После инициализации пользовательский интерфейс печати отвечает за помощь пользователю в выборе различных атрибутов, таких как размер бумаги или дуплекс, для печатного содержимого. Когда инициализация окна печати почти завершена, PrintTask вызывает событие Предварительного просмотра . В этом случае пользователь теперь может управлять содержимым объекта PrintTaskOptions через окно печати. Пользователь может изменить значения параметров в любое время на этапе предварительного просмотра, и это необходимо учитывать при следующем разбиении содержимого на страницы приложением. Объект PrintTaskOptions предоставляет основные функции для получения значений параметров печати. Дополнительные сведения об управлении параметрами печати см. в разделе PrintTaskOptionDetails. Пользователь снова может отменить эту операцию, что приведет к возникновению события завершения с типом завершения canceled.
Например, если пользователь действительно инициирует печать, нажав кнопку Печать в окне печати, задача печати переходит из состояния предварительного просмотра в состояние Отправки и возникает событие Отправка . Затем источнику документа передается команда MakeDocument, и начинается процесс отправки страниц в подсистему печати. Во время отправки страниц возникает событие Progressing . Приложение может использовать информацию в ходе выполнения события, чтобы сообщить пользователю, сколько содержимого осталось распечатать. После завершения процесса отправки документа в подсистему печати PrintTask вызывает событие Завершения . Это событие указывает, было ли задание успешно отправлено, отменено или завершилось сбоем во время процесса отправки.
Ниже приведен фрагмент кода из примера печати UWP , в котором показано, как указать порядок отображения параметров печати по умолчанию:
protected override void PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs e)
{
PrintTask printTask = null;
printTask = e.Request.CreatePrintTask("C# Printing SDK Sample", sourceRequestedArgs =>
{
IList<string> displayedOptions = printTask.Options.DisplayedOptions;
// Choose the printer options to be shown.
// The order in which the options are appended determines the order in which they appear in the UI
displayedOptions.Clear();
displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.Copies);
displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.Orientation);
displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.MediaSize);
displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.Collation);
displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.Duplex);
// Preset the default value of the printer option
printTask.Options.MediaSize = PrintMediaSize.NorthAmericaLegal;
// Print Task event handler is invoked when the print job is completed.
printTask.Completed += async (s, args) =>
{
// Notify the user when the print operation fails.
if (args.Completion == PrintTaskCompletion.Failed)
{
await scenarioPage.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
MainPage.Current.NotifyUser("Failed to print.", NotifyType.ErrorMessage);
});
}
};
sourceRequestedArgs.SetSource(printDocumentSource);
});
}
Полный список для этого и других сценариев печати с помощью PrintTask см. в разделе Печать и пример печати UWP.
Журнал версий
Версия Windows | Версия пакета SDK | Добавленная стоимость |
---|---|---|
1607 | 14393 | IsPreviewEnabled |
Свойства
Is3DManufacturingTargetEnabled |
Возвращает или задает значение, указывающее, поддерживает ли PrintTask трехмерные производственные устройства, например трехмерный принтер. |
IsPreviewEnabled |
Возвращает или задает значение, указывающее, будет ли printTask отображать предварительный просмотр. |
IsPrinterTargetEnabled |
Возвращает или задает значение, указывающее, поддерживает ли PrintTask целевые объекты принтера. |
Options |
Извлекает printTaskOptions для задачи печати, которая определяет способ форматирования содержимого для печати. |
Properties |
Извлекает набор свойств, связанных с PrintTask. |
Source |
Возвращает указатель на предоставленный приложением объект, представляющий печатаемое содержимое. Этот объект должен поддерживать интерфейс IPrintDocumentSource . |
События
Completed |
Возникает после завершения задачи печати. |
Previewing |
Возникает, когда система печати инициализирует режим предварительного просмотра. |
Progressing |
Вызывается для предоставления сведений о ходе выполнения о том, сколько печатного содержимого было отправлено в подсистему печати для печати. |
Submitting |
Возникает, когда задача печати начинает отправлять содержимое в подсистему печати для печати. |