Compartir a través de


PrintTask Clase

Definición

Representa una operación de impresión que incluye el contenido que se va a imprimir, así como proporcionar acceso a la información que describe cómo se va a imprimir el contenido.

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

El objeto PrintTask representa una operación de impresión para aplicaciones para UWP. La aplicación es responsable de crear un objeto PrintTask que se solicita a través del evento PrintTaskRequested en el objeto PrintManager . Para crear PrintTask , debe proporcionar el nombre de la tarea y un delegado PrintTaskSourceRequestedHandler al que se llama cuando el usuario está listo para empezar a imprimir.

Si el usuario decide no imprimir la tarea, es posible que la tarea se complete sin solicitar nunca el origen del documento.

PrintTask contiene una referencia, en forma de la propiedad Source , al origen del documento de impresión proporcionado por la aplicación. Este objeto debe admitir la interfaz IPrintDocumentSource .

Además PrintTask contiene una propiedad Options que contiene una referencia al objeto PrintTaskOptions . El objeto PrintTaskOptions proporciona acceso a los detalles sobre el formato deseado del contenido impreso. PrintTaskOptions también proporciona métodos que permiten modificar aspectos de la experiencia del usuario de impresión. Por ejemplo, PrintTaskOptions permite a la aplicación definir cuáles de las opciones admitidas aparecen en la página inicial de la experiencia de impresión.

Una tarea de impresión pasa por un conjunto específico de estados después de su creación y una aplicación puede usar estos cambios en estado para proporcionar comentarios al usuario. La mayoría de las transiciones de estado se representan en los eventos generados por PrintTask. La tarea de impresión se crea en respuesta al evento PrintTaskRequested en printManager mediante el método CreatePrintTask en el objeto PrintTaskRequest . En este momento no se puede imprimir la tarea de impresión, ya que aún no se ha proporcionado el contenido que se va a imprimir. Normalmente, se genera un evento PrintTaskRequested cuando el usuario hace clic en el acceso Dispositivos o una aplicación inicia la impresión a través del método ShowPrintUIAsync en printManager.

Una vez que el sistema determina que se imprimirá la tarea, se llama al delegado PrintTaskSourceRequestedHandler para recuperar realmente una referencia al objeto Document Source. En este momento PrintTask está totalmente inicializado. Si el usuario decide no completar la impresión representada por el objeto PrintTask , el evento de finalización se genera con un tipo de finalización abandonado.

Tras la inicialización, la experiencia del usuario de impresión es responsable de ayudar al usuario a seleccionar los distintos atributos, como tamaño de papel o dúplex, para el contenido impreso. Cuando la inicialización de la ventana de impresión está casi completa, PrintTask genera el evento Previewing . Esto es cuando el usuario ahora puede manipular el contenido del objeto PrintTaskOptions a través de la ventana de impresión. El usuario puede cambiar los valores de la configuración en cualquier momento durante la fase de versión preliminar, y esto debe tenerse en cuenta la próxima vez que una aplicación pagina el contenido. El objeto PrintTaskOptions proporciona funcionalidad básica para recuperar los valores de la configuración de impresión. Para obtener un control más avanzado de las opciones de impresión, consulte PrintTaskOptionDetails. De nuevo, el usuario puede cancelar esta operación, lo que provocará un evento de finalización con un tipo de finalización cancelado.

Cuando el usuario decide iniciar realmente la impresión presionando Imprimir en la ventana de impresión, por ejemplo, la tarea de impresión pasa de Vista previa al estado Envío y se genera el evento Envío . A continuación, el origen del documento de impresión se pasa un comando MakeDocument y comienza el proceso de envío de páginas al subsistema de impresión. Mientras se envían páginas, se genera el evento Progressing . Una aplicación puede optar por usar la información en el evento de progreso para que el usuario sepa cuánto contenido permanece para imprimirse. Una vez completado el proceso de envío del documento al subsistema de impresión, PrintTask genera el evento Completion . Este evento indica si el trabajo se envió correctamente, canceló o no durante el proceso de envío.

Este es un fragmento de código del ejemplo de impresión de UWP que muestra cómo indicar el orden en el que se debe mostrar la configuración de impresión predeterminada:

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

Para ver la lista completa de esto y otros escenarios de impresión mediante PrintTask, consulta Impresión y muestra de impresión para UWP.

Historial de versiones

Versión de Windows Versión del SDK Valor agregado
1607 14393 IsPreviewEnabled

Propiedades

Is3DManufacturingTargetEnabled

Obtiene o establece un valor que indica si PrintTask admite dispositivos de fabricación 3D, como una impresora 3D.

IsPreviewEnabled

Obtiene o establece un valor que indica si PrintTask mostrará una vista previa de impresión.

IsPrinterTargetEnabled

Obtiene o establece un valor que indica si PrintTask admite destinos de impresora.

Options

Recupera printTaskOptions para la tarea de impresión que define cómo se va a dar formato al contenido para imprimir.

Properties

Recupera un conjunto de propiedades asociadas a PrintTask.

Source

Devuelve un puntero al objeto proporcionado por la aplicación que representa el contenido que se va a imprimir. Este objeto debe admitir la interfaz IPrintDocumentSource .

Eventos

Completed

Se genera cuando se completa la tarea de impresión.

Previewing

Se genera cuando el sistema de impresión inicializa el modo de vista previa de impresión.

Progressing

Se genera para proporcionar información de progreso sobre la cantidad de contenido impreso que se ha enviado al subsistema de impresión para imprimir.

Submitting

Se genera cuando una tarea de impresión comienza a enviar contenido al subsistema de impresión que se va a imprimir.

Se aplica a

Consulte también