PrintTask Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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. |