Techniques d’impression avancéesAdobe AIR 2 et ultérieur Depuis la version 2 d’Adobe AIR, la classe PrintJob comporte d’autres propriétés et méthodes et trois classes supplémentaires, PrintUIOptions, PaperSize et PrintMethod, sont prises en charge. Ces modifications gèrent d’autres flux de travail d’impression et permettent aux créateurs de mieux contrôler le processus d’impression. Parmi les modifications figurent :
Modifications du flux de travaux d’impressionLe nouveau flux de travaux d’impression se compose des étapes suivantes :
Boîte de dialogue de mise en pageLa méthode showPageSetupDialog() affiche la boîte de dialogue de mise en page du système d’exploitation si l’environnement actif le permet. Vérifiez toujours la propriété supportsPageSetupDialog avant d’appeler cette méthode. Voici un exemple simple : import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); //check for static property supportsPageSetupDialog of PrintJob class if (PrintJob.supportsPageSetupDialog) { myPrintJob.showPageSetupDialog(); } Si besoin est, vous pouvez associer la méthode à une propriété de la classe PrintUIOptions pour contrôler les options affichées dans la boîte de dialogue de mise en page. Vous pouvez définir le nombre minimal et maximal de pages. L’exemple suivant restreint l’impression aux trois premières pages : import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); if (PrintJob.supportsPageSetupDialog) { var uiOpt:PrintUIOptions = new PrintUIOptions(); uiOpt.minPage = 1; uiOpt.maxPage = 3; myPrintJob.showPageSetupDialog(uiOpt); } Modification des paramètres d’impressionVous pouvez modifier les paramètres d’une occurrence de PrintJob à tout moment après sa création. Il est ainsi possible de modifier les paramètres entre des appels d’addPage() et après l’envoi ou l’arrêt d’une tâche d’impression. Certains paramètres, tels que la propriété printer, s’appliquent à la tâche d’impression entière et non à des pages spécifiques. Ils doivent être définis avant d’appeler start() ou start2(). La méthode selectPaperSize() permet de définir le format du papier par défaut dans les boîtes de dialogue de mise en page et d’impression. Vous pouvez également l’appeler au cours d’une tâche d’impression pour définir le format du papier d’une étendue de pages. Vous utilisez à cet effet des constantes définies dans la classe PaperSize; comme illustré par l’exemple suivant, qui sélectionne une enveloppe de format 10 : import flash.printing.PrintJob; import flash.printing.PaperSize; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.selectPaperSize(PaperSize.ENV_10); La propriété printer permet d’extraire ou de définir le nom de l’imprimante associée à la tâche d’impression active. Par défaut, elle est définie sur le nom de l’imprimante par défaut. La propriété printer est définie sur null si aucune imprimante n’est disponible ou si le système ne prend pas en charge l’impression. Pour changer d’imprimante, commencez par obtenir la liste des imprimantes disponibles par le biais de la propriété printers. Cette propriété est un objet Vector dont les éléments String correspondent aux noms d’imprimantes disponibles. Définissez la propriété printer sur l’une de ces valeurs String pour activer l’imprimante correspondante. Il est impossible de modifier la propriété printer d’une tâche d’impression active. Toute tentative de modification de cette propriété après qu’un appel de start() ou start2() a abouti ou avant l’envoi ou l’arrêt de la tâche d’impression échoue. Exemple de définition de la propriété : import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.printer = "HP_LaserJet_1"; myPrintJob.start(); La propriété copies extrait la valeur correspondant au nombre d’exemplaires défini dans la boîte de dialogue d’impression du système d’exploitation. Les propriétés firstPage et lastPage extraient l’étendue de pages. La propriété orientation extrait le paramètre d’orientation de page. Vous pouvez définir ces propriétés de sorte à remplacer les valeurs saisies dans la boîte de dialogue d’impression. L’exemple suivant définit ces propriétés : import flash.printing.PrintJob; import flash.printing.PrintJobOrientation; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.copies = 3; myPrintJob.firstPage = 1; myPrintJob.lastPage = 3; myPrintJob.orientation = PrintJobOrientation.LANDSCAPE; Les paramètres en lecture seule suivants associés à PrintJob fournissent des informations pertinentes sur la configuration de l’imprimante active :
Voir Exemple d’impression : options d’impression et de mise en page |
![]() |