Partager via


PrintTask Classe

Définition

Représente une opération d’impression incluant le contenu à imprimer, ainsi que l’accès aux informations décrivant comment le contenu doit être imprimé.

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
Héritage
Object Platform::Object IInspectable PrintTask
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Remarques

L’objet PrintTask représente une opération d’impression pour les applications UWP. L’application est responsable de la création d’un PrintTask demandé via l’événement PrintTaskRequested sur l’objet PrintManager . Pour créer PrintTask , vous devez fournir le nom de la tâche et un délégué PrintTaskSourceRequestedHandler appelé lorsque l’utilisateur est prêt à commencer l’impression.

Si l’utilisateur décide de ne pas imprimer la tâche, la tâche peut être terminée sans jamais demander la source du document.

PrintTask contient une référence, sous la forme de la propriété Source , à la source du document d’impression fournie par l’application. Cet objet doit prendre en charge l’interface IPrintDocumentSource .

En outre , PrintTask contient une propriété Options qui contient une référence à l’objet PrintTaskOptions . L’objet PrintTaskOptions permet d’accéder à des détails sur le format souhaité du contenu imprimé. PrintTaskOptions fournit également des méthodes qui permettent de modifier certains aspects de l’expérience utilisateur d’impression. Par exemple, PrintTaskOptions permet à l’application de définir les options prises en charge qui apparaissent sur la page initiale de l’expérience d’impression.

Une tâche d’impression passe par un ensemble spécifique d’états après sa création, et ces changements d’état peuvent être utilisés par une application pour fournir des commentaires à l’utilisateur. La plupart des transitions d’état sont représentées dans les événements déclenchés par PrintTask. La tâche d’impression est créée en réponse à l’événement PrintTaskRequested sur le PrintManager à l’aide de la méthode CreatePrintTask sur l’objet PrintTaskRequest . À ce stade, la tâche d’impression ne peut pas être imprimée, car le contenu à imprimer n’a pas encore été fourni. En règle générale, un événement PrintTaskRequested est déclenché lorsque l’utilisateur clique sur l’icône Appareils ou qu’une application lance l’impression via la méthode ShowPrintUIAsync sur printManager.

Une fois que le système détermine que la tâche sera imprimée, le délégué PrintTaskSourceRequestedHandler est appelé pour récupérer réellement une référence à l’objet Document Source. À ce stade , PrintTask est entièrement initialisé. Si l’utilisateur décide de ne pas terminer l’impression représentée par l’objet PrintTask , l’événement d’achèvement est déclenché avec un type d’achèvement abandonné.

Lors de l’initialisation, l’expérience utilisateur d’impression est chargée d’aider l’utilisateur à sélectionner les différents attributs, tels que le format du papier ou le duplex, pour le contenu imprimé. Lorsque l’initialisation de la fenêtre d’impression est presque terminée, PrintTask déclenche l’événement Aperçu . C’est à ce moment que l’utilisateur peut désormais manipuler le contenu de l’objet PrintTaskOptions via la fenêtre d’impression. L’utilisateur peut modifier les valeurs des paramètres à tout moment pendant la phase d’aperçu, ce qui doit être pris en compte lors de la prochaine pagination du contenu par une application. L’objet PrintTaskOptions fournit des fonctionnalités de base pour récupérer les valeurs des paramètres d’impression. Pour un contrôle plus avancé des options d’impression, consultez PrintTaskOptionDetails. Là encore, l’utilisateur peut annuler cette opération, ce qui entraîne le déclenchement d’un événement d’achèvement avec un type d’achèvement annulé.

Lorsque l’utilisateur choisit de lancer l’impression en appuyant sur Imprimer dans la fenêtre d’impression, par exemple, la tâche d’impression passe de l’état Aperçu à l’état Envoi , et l’événement Envoi est déclenché. La source du document d’impression reçoit ensuite une commande MakeDocument et le processus d’envoi des pages au sous-système d’impression commence. Pendant l’envoi des pages, l’événement Progressing est déclenché. Une application peut choisir d’utiliser les informations de l’événement de progression pour indiquer à l’utilisateur la quantité de contenu restant à imprimer. Une fois le processus d’envoi du document au sous-système d’impression terminé, PrintTask déclenche l’événement Completion . Cet événement indique si le travail a été envoyé avec succès, annulé ou a échoué pendant le processus de soumission.

Voici un extrait de code de l’exemple d’impression UWP qui montre comment indiquer l’ordre dans lequel les paramètres d’impression par défaut doivent être affichés :

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

Pour voir la liste complète de ce scénario et d’autres scénarios d’impression à l’aide de PrintTask, consultez Impression et l’exemple d’impression UWP.

Historique des versions

Version de Windows Version du SDK Valeur ajoutée
1607 14393 IsPreviewEnabled

Propriétés

Is3DManufacturingTargetEnabled

Obtient ou définit une valeur qui indique si PrintTask prend en charge les appareils de fabrication 3D, comme une imprimante 3D.

IsPreviewEnabled

Obtient ou définit une valeur qui indique si PrintTask affiche un aperçu avant impression.

IsPrinterTargetEnabled

Obtient ou définit une valeur indiquant si PrintTask prend en charge les cibles d’imprimante.

Options

Récupère l’option PrintTaskOptions pour la tâche d’impression qui définit la façon dont le contenu doit être mis en forme pour l’impression.

Properties

Récupère un ensemble de propriétés associées à PrintTask.

Source

Retourne un pointeur vers l’objet fourni par l’application qui représente le contenu à imprimer. Cet objet doit prendre en charge l’interface IPrintDocumentSource .

Événements

Completed

Déclenché lorsque la tâche d’impression est terminée.

Previewing

Déclenché lorsque le système d’impression initialise le mode aperçu avant impression.

Progressing

Déclenché pour fournir des informations sur la progression du contenu imprimé qui a été soumis au sous-système d’impression pour impression.

Submitting

Déclenché lorsqu’une tâche d’impression commence à envoyer du contenu au sous-système d’impression à imprimer.

S’applique à

Voir aussi