PrintTaskRequest 类

定义

包含系统发出创建打印任务的请求。 此对象可从传递给 PrintTaskRequested 事件的 PrintTaskRequestedEventArgs 对象中获取。

public ref class PrintTaskRequest sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class PrintTaskRequest final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class PrintTaskRequest
Public NotInheritable Class PrintTaskRequest
继承
Object Platform::Object IInspectable PrintTaskRequest
属性

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 中引入)

注解

应用使用 PrintTaskRequest 类创建新的 PrintTask 对象。 PrintTask 对象是为了响应 PrintTaskRequested 事件而创建的,它向系统指示应用有要打印的内容。 使用 CreatePrintTask 方法创建 PrintTask 对象时,应用必须提供 PrintTask 的名称,以及当需要打印内容时调用的 PrintTaskSourceRequestedHandler 事件处理程序。

应用应在 PrintTaskRequested 事件处理程序中执行尽可能小的工作量,因为响应只提供很短的时间。 如果可能,应用应仅创建 PrintTask 并延迟任何内容初始化,直到调用 PrintTaskSourceRequestedHandler 事件处理程序。

如果应用需要在 PrintTaskRequested 处理程序期间执行异步操作,则必须检索并使用 PrintTaskRequestedDeferral 对象。 在事件处理程序退出之前,通常启动异步操作之前,应用必须通过调用 PrintTaskRequest 对象的 GetDeferral 方法检索 PrintTaskRequestedDeferral 对象。 异步操作完成后,应用必须调用 PrintTaskRequestedDeferral 对象的 Complete 方法,以指示打印任务请求已完成。 对 Complete 方法的调用必须在到达 截止时间 之前进行,才能接受请求。

PrintTaskRequest 中的 CreatePrintTask 方法可用于创建打印任务。 下面是 UWP 打印示例中 的代码片段,演示如何创建打印任务:

protected virtual void PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs e)
{
    PrintTask printTask = null;
    printTask = e.Request.CreatePrintTask("C# Printing SDK Sample", sourceRequested =>
    {
        // 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);
                });
            }
        };

        sourceRequested.SetSource(printDocumentSource);
    });
}

有关此打印方案和其他打印方案的详细信息,请参阅 打印UWP 打印示例

属性

Deadline

获取 一个 DateTime 值,该值指示应用需要多长时间才能响应 PrintTaskRequested 事件。 如果在到达截止时间时系统尚未收到 PrintTaskRequested 事件处理程序的响应,则忽略打印任务。

方法

CreatePrintTask(String, PrintTaskSourceRequestedHandler)

创建新的 PrintTask ,指示应用具有要打印的内容。

GetDeferral()

检索与 PrintTaskRequest 关联的延迟对象。 延迟对象用于处理 PrintTaskRequested 事件处理程序中的异步调用。

适用于

另请参阅