Compartir a través de


PrintTaskRequest Clase

Definición

Contiene la solicitud del sistema para crear una tarea de impresión. Este objeto está disponible en el objeto PrintTaskRequestedEventArgs pasado al evento PrintTaskRequested .

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
Herencia
Object Platform::Object IInspectable PrintTaskRequest
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Comentarios

Una aplicación usa la clase PrintTaskRequest para crear un nuevo objeto PrintTask . Se crea un objeto PrintTask en respuesta al evento PrintTaskRequested e indica al sistema que la aplicación tiene contenido que se va a imprimir. Al crear un objeto PrintTask mediante el método CreatePrintTask , la aplicación debe proporcionar un nombre para PrintTask y un controlador de eventos PrintTaskSourceRequestedHandler al que se llama cuando se requiere el contenido que se va a imprimir.

Una aplicación debe realizar la cantidad mínima de trabajo posible en el controlador de eventos PrintTaskRequested, ya que solo se proporciona una breve cantidad de tiempo para una respuesta. Siempre que sea posible, la aplicación simplemente debe crear printTask y retrasar cualquier inicialización de contenido hasta que se llame al controlador de eventos PrintTaskSourceRequestedHandler .

Si una aplicación necesita realizar una operación asincrónica durante el controlador PrintTaskRequested , debe recuperar y usar un objeto PrintTaskRequestedDeferral . Antes de salir del controlador de eventos y normalmente antes de iniciar la operación asincrónica, la aplicación debe recuperar el objeto PrintTaskRequestedDeferral llamando al método GetDeferral del objeto PrintTaskRequest. Cuando se completa la operación asincrónica, la aplicación debe llamar al método Complete del objeto PrintTaskRequestedDeferral para indicar que la solicitud de tarea de impresión está completa. La llamada al método Complete debe producirse antes de que se alcance la fecha límite para que se acepte la solicitud.

El método CreatePrintTask de PrintTaskRequest se puede usar para crear la tarea de impresión. Este es un fragmento de código del ejemplo de impresión de UWP que muestra la creación de una tarea de impresión:

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);
    });
}

Para obtener más información sobre este y otros escenarios de impresión, consulta Impresión y ejemplo de impresión para UWP.

Propiedades

Deadline

Obtiene un valor DateTime que indica cuánto tiempo tiene una aplicación para responder al evento PrintTaskRequested . Si el sistema no ha recibido una respuesta del controlador de eventos PrintTaskRequested por la hora en que se alcanza la fecha límite, se omite la tarea de impresión.

Métodos

CreatePrintTask(String, PrintTaskSourceRequestedHandler)

Crea un objeto PrintTask que indica que la aplicación tiene contenido que se va a imprimir.

GetDeferral()

Recupera el objeto de aplazamiento asociado a PrintTaskRequest. El objeto de aplazamiento se usa para controlar las llamadas asincrónicas en el controlador de eventos PrintTaskRequested .

Se aplica a

Consulte también