Compartilhar via


PrintTask Classe

Definição

Representa uma operação de impressão, incluindo o conteúdo a ser impresso, além de fornecer acesso a informações que descrevem como o conteúdo deve ser impresso.

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
Herança
Object Platform::Object IInspectable PrintTask
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Comentários

O objeto PrintTask representa uma operação de impressão para aplicativos UWP. O aplicativo é responsável por criar um PrintTask solicitado por meio do evento PrintTaskRequested no objeto PrintManager . Para criar PrintTask , você deve fornecer o nome da tarefa e um delegado PrintTaskSourceRequestedHandler que é chamado quando o usuário está pronto para começar a imprimir.

Se o usuário decidir não imprimir a tarefa, a tarefa poderá ser concluída sem nunca solicitar a origem do documento.

PrintTask contém uma referência, na forma da propriedade Source , à Fonte do Documento de Impressão fornecida pelo aplicativo. Esse objeto deve dar suporte à interface IPrintDocumentSource .

Além disso , PrintTask contém uma propriedade Options que contém uma referência ao objeto PrintTaskOptions . O objeto PrintTaskOptions fornece acesso a detalhes sobre o formato desejado do conteúdo impresso. PrintTaskOptions também fornece métodos que permitem que aspectos da experiência do usuário de impressão sejam modificados. Por exemplo, PrintTaskOptions permite que o aplicativo defina quais das opções com suporte aparecem na página inicial da experiência de impressão.

Uma tarefa de impressão passa por um conjunto específico de estados após sua criação, e essas alterações no estado podem ser usadas por um aplicativo para fornecer comentários ao usuário. A maioria das transições de estado é representada nos eventos gerados por PrintTask. A tarefa de impressão é criada em resposta ao evento PrintTaskRequested no PrintManager usando o método CreatePrintTask no objeto PrintTaskRequest . Neste ponto, a tarefa de impressão não pode ser impressa, pois o conteúdo a ser impresso ainda não foi fornecido. Normalmente, um evento PrintTaskRequested é gerado quando o usuário clica no botão Dispositivos ou um aplicativo inicia a impressão por meio do método ShowPrintUIAsync no PrintManager.

Depois que o sistema determinar que a tarefa será impressa, o delegado PrintTaskSourceRequestedHandler será chamado para realmente recuperar uma referência ao objeto Fonte do Documento. Neste ponto , PrintTask está totalmente inicializado. Se o usuário decidir não concluir a impressão representada pelo objeto PrintTask , o evento de conclusão será gerado com um tipo de conclusão abandonado.

Após a inicialização, a experiência do usuário de impressão é responsável por ajudar o usuário a selecionar os diferentes atributos, como tamanho de papel ou duplex, para o conteúdo impresso. Quando a inicialização da janela de impressão está quase concluída, PrintTask aciona o evento Previewing . É quando o usuário agora é capaz de manipular o conteúdo do objeto PrintTaskOptions por meio da janela de impressão. O usuário pode alterar os valores das configurações a qualquer momento durante a fase de Visualização, e isso deve ser levado em consideração na próxima vez que um aplicativo paginar o conteúdo. O objeto PrintTaskOptions fornece funcionalidade básica para recuperar os valores das configurações de impressão. Para obter um controle mais avançado das opções de impressão, consulte PrintTaskOptionDetails. Novamente, o usuário pode cancelar essa operação, o que resultará em um evento de conclusão sendo gerado com um tipo de conclusão cancelado.

Quando o usuário opta por realmente iniciar a impressão pressionando Imprimir na janela de impressão, por exemplo, a tarefa de impressão faz a transição da Visualização para o estado Envio e o evento De envio é gerado. A origem do documento de impressão é então passada um comando MakeDocument e o processo de envio de páginas para o subsistema de impressão começa. Enquanto as páginas estão sendo enviadas, o evento Progressing é gerado. Um aplicativo pode optar por usar as informações no evento em andamento para informar ao usuário quanto conteúdo ainda deve ser impresso. Depois que o processo de envio do documento para o subsistema de impressão for concluído, PrintTask aciona o evento Completion . Esse evento indica se o trabalho foi enviado com êxito, cancelado ou falhou durante o processo de envio.

Aqui está um snippet de código do exemplo de impressão UWP que mostra como indicar a ordem na qual as configurações de impressão padrão devem ser exibidas:

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 a listagem completa para isso e outros cenários de impressão usando PrintTask, consulte Impressão e o exemplo de impressão UWP.

Histórico de versão

Versão do Windows Versão do SDK Valor adicionado
1607 14393 IsPreviewEnabled

Propriedades

Is3DManufacturingTargetEnabled

Obtém ou define um valor que indica se o PrintTask dá suporte a dispositivos de fabricação 3D, como uma impressora 3D.

IsPreviewEnabled

Obtém ou define um valor que indica se o PrintTask mostrará uma visualização de impressão.

IsPrinterTargetEnabled

Obtém ou define um valor que indica se o PrintTask dá suporte a destinos de impressora.

Options

Recupera o PrintTaskOptions para a tarefa de impressão que define como o conteúdo deve ser formatado para impressão.

Properties

Recupera um conjunto de propriedades associadas ao PrintTask.

Source

Retorna um ponteiro para o objeto fornecido pelo aplicativo que representa o conteúdo a ser impresso. Esse objeto deve dar suporte à interface IPrintDocumentSource .

Eventos

Completed

Gerado quando a tarefa de impressão é concluída.

Previewing

Gerado quando o sistema de impressão inicializa o modo de visualização de impressão.

Progressing

Gerado para fornecer informações de progresso sobre quanto do conteúdo impresso foi enviado ao subsistema de impressão para impressão.

Submitting

Gerado quando uma tarefa de impressão começa a enviar conteúdo para o subsistema de impressão a ser impresso.

Aplica-se a

Confira também