PrintTaskRequest Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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 . |