Partager via


Démarrage rapide : impression à partir de votre application (HTML)

[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Cette rubrique de démarrage rapide montre la façon la plus simple d’ajouter une fonctionnalité d’impression à votre application du Windows Store.

Regardez cette courte vidéo pour avoir une vue d’ensemble du processus.

Pour imprimer à partir de votre application du Windows Store, le plus simple consiste à recourir à l’impression Windows. Pour cela, votre application doit :

  • S’inscrire au contrat d’impression sur chaque écran de l’application à partir duquel vous voulez que les utilisateurs soient en mesure d’imprimer.

    L’inscription au contrat d’impression implique l’obtention d’un objet PrintManager, la création d’un objet PrintTask et la gestion des événements d’impression.

  • Fournir du contenu mis en forme à imprimer.

    Dans cette rubrique de démarrage rapide, l’expérience d’impression par défaut qui est présentée fait appel à Windows pour imprimer l’affichage à l’écran de votre application.

    Remarque  L’ajout de fonctionnalités d’impression personnalisées, comme l’impression de pages spécifiques, ou de paramètres d’impression personnalisés est limité aux applications du Windows Store en C++, C# ou Visual Basic et XAML. Pour plus d’informations sur l’ajout de fonctionnalités d’impression personnalisées à votre application, voir Impression (XAML).

     

Prérequis

  • Vous devez vous familiariser avec le code HTML, le langage JavaScript, les événements Windows et la gestion des événements.
  • Vous avez installé Microsoft Visual Studio.
  • Vous avez installé une imprimante.
  • Vous devez disposer d’une application à laquelle vous voulez ajouter une fonctionnalité d’impression. Si vous ne disposez pas de votre propre application, vous pouvez télécharger l’exemple d’application Exemple d’impression et utiliser cette application.Remarque  Les exemples inclus dans cette rubrique de démarrage rapide font partie de l’exemple d’application Exemple d’impression.  

Instructions

1. Ouvrir le code source de l’application pour le modifier

Cette procédure décrit comment ouvrir l’application PrintSampleJS à partir de l’exemple d’application Exemple d’impression. Si vous utilisez votre propre application, ouvrez-la dans Visual Studio et passez à l’étape suivante.

  1. Ouvrez l’exemple d’application Exemple d’impression et téléchargez l’exemple en JavaScript sur votre ordinateur.
  2. Dans Visual Studio, cliquez sur File > Open Project et accédez au dossier contenant le fichier solution de l’exemple d’application que vous avez téléchargé à l’étape précédente.
  3. Sélectionnez le fichier solution PrintSampleJS, puis cliquez sur Ouvrir.

2. Générer et tester l’application

  1. Cliquez sur Générer > Générer la solution pour générer l’application sur laquelle vous travaillez. Assurez-vous qu’il n’y a aucun message d’erreur dans le volet Sortie en bas de l’écran.
  2. Cliquez sur Déboguer > Exécuter sans débogage.
  3. Après quelques secondes, vérifiez que l’application Print JS Sample apparaît à l’écran.
  4. Si l’application s’exécute sans erreur, revenez à Visual Studio, puis cliquez sur Déboguer > Arrêter le débogage.

3. S’inscrire à l’impression Windows

À ce stade, vous devez avoir en votre possession une application qui affiche du contenu sur un écran.

Pour ajouter une fonctionnalité d’impression à votre application, vous devez en premier lieu vous inscrire au contrat d’impression. Vous devez répéter cette opération sur chaque écran à partir duquel vous souhaitez que votre client soit en mesure d’imprimer.

Remarque  Seul l’écran qui est affiché à l’utilisateur peut être inscrit à des fins d’impression. Si un écran de votre application est inscrit à des fins d’impression, son inscription doit être annulée au moment de sa fermeture. S’il est remplacé par un autre écran, l’écran suivant doit s’inscrire à un nouveau contrat d’impression lorsqu’il s’ouvre.

 

L’inscription au contrat d’impression signifie l’obtention d’un objet PrintManager et la définition du gestionnaire pour l’événement PrintTaskRequested.

  1. Sur chaque écran de votre application à partir duquel vous voulez imprimer, ajoutez le code suivant de sorte qu’il s’exécute à l’ouverture de l’écran. Dans l’exemple d’application PrintSampleJS, le code est ajouté dans le membre ready du paramètre members à la fonction WinJS.UI.Pages.define qui est appelée pour créer l’écran.

    var printManager = Windows.Graphics.Printing.PrintManager.getForCurrentView();
    printManager.onprinttaskrequested = onPrintTaskRequested;
    

    Remarque  Vous pouvez inclure ce code dans une fonction séparée, comme cela est le cas dans l’exemple d’application PrintSampleJS.

     

  2. Ajoutez le gestionnaire d’événements print-task pour cet écran. Chaque écran de votre application peut nécessiter une fonction différente si, par exemple, le contenu de chaque écran doit être mis différemment en forme pour l’impression.

    Cette application PrintSampleJS comprend un gestionnaire d’achèvement qui est présenté ici. La gestion des événements d’achèvement est recommandée ; de cette façon, votre application peut informer l’utilisateur en cas d’erreur et fournir des solutions possibles. De même, votre application peut utiliser l’événement d’achèvement pour indiquer à l’utilisateur les prochaines étapes à suivre une fois le travail d’impression terminé.

    function onPrintTaskRequested(printEvent) {
        var printTask = printEvent.request.createPrintTask("Print Sample", function (args) {
            args.setSource(MSApp.getHtmlPrintDocumentSource(document));
    
            // Register the handler for print task completion event
            printTask.oncompleted = onPrintTaskCompleted;
        });
    }
    
    function onPrintTaskCompleted(printTaskCompletionEvent) {
        // Notify the user about the failure
        if (printTaskCompletionEvent.completion === Windows.Graphics.Printing.PrintTaskCompletion.failed) {
            WinJS.log && WinJS.log("Failed to print.", "sample", "error");
        }
    }
    
  3. Générez et testez l’application comme décrit précédemment.

4. Impression à partir de votre application

Après avoir modifié et généré votre application, testez la nouvelle fonctionnalité dans le débogueur.

  1. Cliquez sur Déboguer > Démarrer le débogage.
  2. Après quelques secondes, vérifiez que l’application Print JS Sample apparaît à l’écran.
  3. Effectuez un mouvement de balayage à partir du bord droit de l’écran pour afficher les icônes.
  4. Sélectionnez l’icône Périphériques.
  5. Sélectionnez une imprimante. La fenêtre Impression doit apparaître.
  6. Cliquez sur le bouton Imprimer dans la fenêtre d’impression pour imprimer le contenu de l’écran actuel.
  7. Examinez le résultat imprimé.

Récapitulatif et étapes suivantes

Dans cette rubrique de démarrage rapide, vous avez ajouté une fonctionnalité d’impression Windows à votre application, et ce sans modifier la façon dont les utilisateurs interagissent avec votre application ni la façon dont votre application met en forme son contenu à des fins d’impression.

À partir de là, vous pouvez explorer d’autres fonctions d’impression avancées. Dans Comment imprimer à l’aide d’un bouton dans l’application, vous ajoutez un bouton Imprimer sur lequel l’utilisateur peut cliquer pour imprimer à partir de votre application du Windows Store.

Remarque  

Vous pouvez utiliser la fonction JavaScript window.print() pour imprimer le contenu de votre application, mais la fonction window.print() est conçue pour imprimer du contenu qui apparaît à l’écran à l’aide de l’expérience d’impression par défaut. Un écran d’application du Windows Store ne produisant pas toujours une sortie imprimée satisfaisante, le fait d’appeler window.print() peut ne pas constituer la meilleure approche. Pour la meilleure expérience client possible, nous vous recommandons d’utiliser les fonctions Windows Runtime et de vous inscrire au contrat d’impression conformément aux explications données dans ces rubriques.

 

Pour obtenir d’autres scénarios d’impression qui sont disponibles dans les applications du Windows Store, voir l’exemple d’application Exemple d’impression.

Rubriques associées

Exemple d’application Exemple d’impression

Meilleures pratiques pour le développement d’applications du Windows Store offrant des fonctionnalités d’impression

Développement d’applications du Windows Store pour imprimantes