Package | flash.printing |
Classe | public class PrintJob |
Héritage | PrintJob EventDispatcher Object |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Prise en charge du navigateur mobile : cette classe n’est pas prise en charge sur les navigateurs mobiles.
Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur tous les systèmes d’exploitation de bureau, mais ne l’est pas sur les périphériques mobiles ou sur les périphériques AIR pour TV. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété PrintJob.isSupported
. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.
Utilisez le constructeur PrintJob()
pour créer une tâche d’impression.
En outre, les propriétés de la classe PrintJob permettent de lire les paramètres d’impression de l’utilisateur, tels que la hauteur de la page, la largeur et l’orientation de l’image ; vous pouvez également configurer votre document afin de formater dynamiquement le contenu Flash en fonction des réglages de l’imprimante.
Remarque : à l’inverse des versions précédentes, ActionScript 3 0 ne limite pas un objet PrintJob à une image unique. Toutefois, dans la mesure où le système d’exploitation affiche des informations sur l’état de l’impression dès que l’utilisateur clique sur le bouton OK de la boîte de dialogue d’impression, il est conseillé d’appeler PrintJob.addPage()
et PrintJob.send()
dès que possible pour envoyer les pages au spouleur. Si l’accès à l’image contenant l’appel à PrintJob.send()
est soumis à un délai, le processus d’impression est également retardé.
En outre, un délai d’expiration du script de 15 secondes s’applique aux intervalles suivants :
-
PrintJob.start()
et le premier appel dePrintJob.addPage()
- Un appel
PrintJob.addPage()
et le prochain appel dePrintJob.addPage()
- Le dernier appel de
PrintJob.addPage()
etPrintJob.send()
Si l’un des intervalles précédents excède 15 secondes, l’appel suivant de la méthode PrintJob.start()
pour l’occurrence de PrintJob renvoie false
, et l’appel suivant de la méthode PrintJob.addPage()
pour l’occurrence de PrintJob provoque une exception d’exécution par Flash Player ou Adobe AIR.
Plus d’exemples
Propriété | Défini par | ||
---|---|---|---|
active : Boolean [statique] [lecture seule]
Indique si une tâche d’impression est en cours. | PrintJob | ||
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
copies : int
Nombre de copies des pages ajoutées ultérieurement à la tâche d’impression, que le système d’impression imprime. | PrintJob | ||
firstPage : int [lecture seule]
Numéro de la première page de l’étendue de pages indiquée par l’utilisateur dans la boîte de dialogue Imprimer du système d’exploitation. | PrintJob | ||
isColor : Boolean [lecture seule]
Indique si l’imprimante sélectionnée avec les paramètres d’impression actuels imprime en couleur (true) ou en nuances de gris (false). | PrintJob | ||
isSupported : Boolean [statique] [lecture seule]
Indique si la classe PrintJob est prise en charge sur la plate-forme actuelle (true) ou non (false). | PrintJob | ||
jobName : String
Nom ou titre de la tâche d’impression. | PrintJob | ||
lastPage : int [lecture seule]
Numéro de la dernière page de l’étendue de pages indiquée par l’utilisateur dans la boîte de dialogue Imprimer du système d’exploitation. | PrintJob | ||
maxPixelsPerInch : Number [lecture seule]
Résolution physique de l’imprimante sélectionnée, en pixels par pouce. | PrintJob | ||
orientation : String
Orientation de l’image à imprimer. | PrintJob | ||
pageHeight : int [lecture seule]
Hauteur de la zone la plus grande pouvant être centrée dans la zone imprimable réelle de la page, en points. | PrintJob | ||
pageWidth : int [lecture seule]
Largeur de la zone la plus grande pouvant être centrée dans la zone imprimable réelle de la page, en points. | PrintJob | ||
paperArea : Rectangle [lecture seule]
Limites du support d’imprimante, en points. | PrintJob | ||
paperHeight : int [lecture seule]
Hauteur totale du papier, en points. | PrintJob | ||
paperWidth : int [lecture seule]
Largeur totale du papier, en points. | PrintJob | ||
printableArea : Rectangle [lecture seule]
Limites de la zone imprimable du support d’imprimante, en points. | PrintJob | ||
printer : String
Récupère ou définit l’imprimante à utiliser pour la tâche d’impression en cours. | PrintJob | ||
printers : Vector.<String> [statique] [lecture seule]
Fournit une liste des imprimantes disponibles en tant que valeurs de noms de chaîne. | PrintJob | ||
supportsPageSetupDialog : Boolean [statique] [lecture seule]
Indique si l’environnement d’exécution de Flash prend en charge une boîte de dialogue Mise en page distincte. | PrintJob |
Méthode | Défini par | ||
---|---|---|---|
PrintJob()
Crée un objet PrintJob permettant d’imprimer une ou plusieurs pages. | PrintJob | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement. | EventDispatcher | ||
addPage(sprite:Sprite, printArea:Rectangle = null, options:PrintJobOptions = null, frameNum:int = 0):void
Envoie l’objet Sprite spécifié en tant que page unique au spouleur d’impression. | PrintJob | ||
Distribue un événement dans le flux d’événements. | EventDispatcher | ||
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement. | EventDispatcher | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Supprime un écouteur de l’objet EventDispatcher. | EventDispatcher | ||
Définit le format de papier. | PrintJob | ||
Envoie les pages mises en file d’attente à l’imprimante après l’aboutissement de l’appel des méthodes start() ou start2() et addPage(). | PrintJob | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Affiche la boîte de dialogue Mise en page du système d’exploitation si l’environnement actuel le permet. | PrintJob | ||
Affiche la boîte de dialogue d’impression du système d’exploitation et démarre la mise en file d’attente. | PrintJob | ||
Affiche éventuellement la boîte de dialogue Imprimer du système d’exploitation, démarre la mise en file d’attente et, le cas échéant, modifie les valeurs des propriétés en lecture seule de l’objet PrintJob. | PrintJob | ||
Signale que la tâche d’impression doit être fermée sans être envoyée. | PrintJob | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object | ||
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié. | EventDispatcher |
active | propriété |
active:Boolean
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Indique si une tâche d’impression est en cours. Une tâche d’impression est en cours (la valeur de propriété est true
) si l’une des deux conditions suivantes est remplie :
- La boîte de dialogue Mise en page ou Imprimer est affichée.
- La méthode
start()
oustart2()
a été appelée avec une valeur de renvoi detrue
, et la méthodesend()
outerminate()
n’a pas été appelée.
Si cette propriété est définie sur true
et que vous appelez la méthode showPageSetupDialog()
, start()
ou start2()
, le moteur d’exécution renvoie une exception.
Implémentation
public static function get active():Boolean
Eléments de l’API associés
copies | propriété |
copies:int
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Nombre de copies des pages ajoutées ultérieurement à la tâche d’impression, que le système d’impression imprime. Cette valeur correspond au nombre de copies indiqué par l’utilisateur dans la boîte de dialogue Imprimer du système d’exploitation. Si le nombre de copies n’était pas affiché dans la boîte de dialogue Imprimer ou si la boîte de dialogue n’était pas présentée à l’utilisateur, la valeur est 1 (à moins qu’elle ait été modifiée par le code de l’application).
Implémentation
public function get copies():int
public function set copies(value:int):void
firstPage | propriété |
firstPage:int
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Numéro de la première page de l’étendue de pages indiquée par l’utilisateur dans la boîte de dialogue Imprimer du système d’exploitation. Cette propriété est zéro si l’utilisateur sollicite l’impression de toutes les pages, si l’étendue de pages n’était pas affichée dans la boîte de dialogue Imprimer ou si cette dernière n’a pas été présentée à l’utilisateur.
Implémentation
public function get firstPage():int
isColor | propriété |
isColor:Boolean
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Indique si l’imprimante sélectionnée avec les paramètres d’impression actuels imprime en couleur (true
) ou en nuances de gris (false
).
S’il est impossible de déterminer une valeur de couleur ou de nuances de gris, la valeur est true
.
Implémentation
public function get isColor():Boolean
isSupported | propriété |
jobName | propriété |
jobName:String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Nom ou titre de la tâche d’impression. En règle générale, le système d’exploitation utilise le nom de la tâche comme titre de la tâche dans la file d’impression ou comme nom par défaut d’une tâche imprimée dans un fichier.
Si vous n’avez pas appelé la méthode start()
ou start2()
et n’avez pas défini de valeur pour la propriété, la valeur de cette propriété est null
.
Pour chaque tâche d’impression que vous exécutez avec une occurrence de PrintJob, définissez cette propriété avant d’appeler la méthode start()
ou start2()
.
La valeur par défaut est null
.
Implémentation
public function get jobName():String
public function set jobName(value:String):void
Valeur émise
IllegalOperationError — Si le code tente de définir la propriété alors que la propriété active est définie sur true .
|
lastPage | propriété |
lastPage:int
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Numéro de la dernière page de l’étendue de pages indiquée par l’utilisateur dans la boîte de dialogue Imprimer du système d’exploitation. Cette propriété est zéro si l’utilisateur sollicite l’impression de toutes les pages, si l’étendue de pages n’était pas affichée dans la boîte de dialogue Imprimer ou si cette dernière n’a pas été présentée à l’utilisateur.
Implémentation
public function get lastPage():int
maxPixelsPerInch | propriété |
maxPixelsPerInch:Number
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Résolution physique de l’imprimante sélectionnée, en pixels par pouce. Cette valeur est calculée selon les paramètres d’impression en cours, comme indiqué par le système d’exploitation.
S’il est impossible de déterminer la résolution, la valeur est une valeur par défaut standard. La valeur par défaut est de 600 ppp sous Linux et de 360 ppp sous Mac OS. Sous Windows, la résolution de l’imprimante est toujours disponible ; par conséquent, aucune valeur par défaut n’est nécessaire.
Implémentation
public function get maxPixelsPerInch():Number
orientation | propriété |
orientation:String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 9 - read only, AIR 1.0 - read only, AIR 2 - read-write |
Orientation de l’image à imprimer. Les valeurs admises sont définies comme constantes dans la classe PrintJobOrientation.
Remarque : à partir d’AIR 2, définissez cette propriété avant de lancer une tâche d’impression pour définir l’orientation par défaut dans les boîtes de dialogue Mise en page et Imprimer. Définissez la propriété lorsqu’une tâche d’impression est en cours (après l’appel de la méthode start()
ou start2()
) pour définir l’orientation de l’étendue de pages dans la tâche.
Implémentation
public function get orientation():String
public function set orientation(value:String):void
Eléments de l’API associés
pageHeight | propriété |
pageHeight:int
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9. |
Hauteur de la zone la plus grande pouvant être centrée dans la zone imprimable réelle de la page, en points. Les marges éventuellement définies par l’utilisateur sont ignorées. Cette propriété n’est disponible qu’après l’exécution d’un appel de la méthode PrintJob.start()
.
Remarque : à partir d’AIR 2, cette propriété est déconseillée. Utilisez plutôt la propriété printableArea
, qui mesure la zone imprimable en fractions de point et décrit avec précision les zones imprimables hors centre.
Implémentation
public function get pageHeight():int
Plus d’exemples
Ajustement de la hauteur et de la largeur au format du papier
Eléments de l’API associés
pageWidth | propriété |
pageWidth:int
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.0 |
Largeur de la zone la plus grande pouvant être centrée dans la zone imprimable réelle de la page, en points. Les marges éventuellement définies par l’utilisateur sont ignorées. Cette propriété n’est disponible qu’après l’exécution d’un appel de la méthode PrintJob.start()
.
Remarque : à partir d’AIR 2, cette propriété est déconseillée. Utilisez plutôt la propriété printableArea
, qui mesure la zone imprimable en fractions de point et décrit avec précision les zones imprimables hors centre.
Implémentation
public function get pageWidth():int
Plus d’exemples
Ajustement de la hauteur et de la largeur au format du papier
Eléments de l’API associés
paperArea | propriété |
paperArea:Rectangle
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Limites du support d’imprimante, en points. Cette valeur utilise le même système de coordonnées que celui utilisé pour les prochains appels de addPage()
.
Implémentation
public function get paperArea():Rectangle
paperHeight | propriété |
paperHeight:int
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9. |
Hauteur totale du papier, en points. Cette propriété n’est disponible qu’après l’exécution d’un appel de la méthode PrintJob.start()
.
Remarque : à partir d’AIR 2, cette propriété est déconseillée. Utilisez plutôt la propriété paperArea
, qui mesure les dimensions de la feuille de papier en fractions de point.
Implémentation
public function get paperHeight():int
Eléments de l’API associés
paperWidth | propriété |
paperWidth:int
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9. |
Largeur totale du papier, en points. Cette propriété n’est disponible qu’après l’exécution d’un appel de la méthode PrintJob.start()
.
Remarque : à partir d’AIR 2, cette propriété est déconseillée. Utilisez plutôt la propriété paperArea
, qui mesure les dimensions de la feuille de papier en fractions de point.
Implémentation
public function get paperWidth():int
Eléments de l’API associés
printableArea | propriété |
printableArea:Rectangle
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Limites de la zone imprimable du support d’imprimante, en points. Cette valeur utilise le même système de coordonnées que celui utilisé pour les prochains appels de addPage()
.
Implémentation
public function get printableArea():Rectangle
printer | propriété |
printer:String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Récupère ou définit l’imprimante à utiliser pour la tâche d’impression en cours. La chaîne transmise à l’accesseur Set et renvoyée par l’accesseur Get doit correspondre à l’une des chaînes dans le tableau renvoyé par la méthode printers()
. Pour indiquer que l’imprimante par défaut doit être utilisée, définissez la valeur sur null
. Sur les systèmes d’exploitation qui ne permettent pas de déterminer l’imprimante par défaut, la valeur de cette propriété est null
.
import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.printer = "HP_LaserJet_1"; myPrintJob.start();
Définir la valeur de cette propriété entraîne la sélection immédiate de l’imprimante. Si le choix de l’imprimante échoue, la valeur précédente de cette propriété est rétablie. Pour déterminer si la valeur de l’imprimante a été correctement définie, lisez la valeur après avoir tenté de la définir, puis confirmez qu’elle correspond à la valeur ayant été définie.
La propriété printer
d’une tâche d’impression active ne peut pas être modifiée. Essayez de la modifier après que l’appel de la méthode start()
ou start2()
a abouti et avant que l’appel de la méthode send()
ou terminate()
n’échoue.
Implémentation
public function get printer():String
public function set printer(value:String):void
printers | propriété |
printers:Vector.<String>
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Fournit une liste des imprimantes disponibles en tant que valeurs de noms de chaîne. La liste n’est pas calculée à l’avance. Elle est générée lors de l’appel de la fonction. Si aucune imprimante n’est disponible ou si le système ne prend pas en charge l’impression, la valeur est null()
. Si le système prend en charge l’impression, mais ne parvient pas à renvoyer une liste d’imprimantes, la valeur est un vecteur avec un élément unique (sa propriété length
est 1). Dans ce cas, l’unique élément correspond au nom de l’imprimante actuelle (ou au nom par défaut s’il s’avère impossible de déterminer le nom de l’imprimante actuelle).
Implémentation
public static function get printers():Vector.<String>
supportsPageSetupDialog | propriété |
supportsPageSetupDialog:Boolean
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Indique si l’environnement d’exécution de Flash prend en charge une boîte de dialogue Mise en page distincte. Si cette propriété est définie sur true
, vous pouvez appeler la méthode showPageSetupDialog()
pour afficher la boîte de dialogue Mise en page du système d’exploitation.
Implémentation
public static function get supportsPageSetupDialog():Boolean
Eléments de l’API associés
PrintJob | () | Constructeur |
public function PrintJob()
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Crée un objet PrintJob permettant d’imprimer une ou plusieurs pages. Après avoir créé un objet PrintJob, vous devez utiliser (dans l’ordre spécifié) les méthodes PrintJob.start()
, PrintJob.addPage()
et PrintJob.send()
pour envoyer la tâche d’impression à l’imprimante.
Vous pouvez, par exemple, remplacer l’espace réservé [params]
associé aux appels de la méthode myPrintJob.addPage()
par des paramètres personnalisés, comme indiqué dans le code ci-dessous :
// create PrintJob object var myPrintJob:PrintJob = new PrintJob(); // display Print dialog box, but only initiate the print job // if start returns successfully. if (myPrintJob.start()) { // add specified page to print job // repeat once for each page to be printed try { myPrintJob.addPage([params]); } catch(e:Error) { // handle error } try { myPrintJob.addPage([params]); } catch(e:Error) { // handle error } // send pages from the spooler to the printer, but only if one or more // calls to addPage() was successful. You should always check for successful // calls to start() and addPage() before calling send(). myPrintJob.send(); }
A partir de AIR 2, vous pouvez créer et utiliser plusieurs occurrences de PrintJob. Les propriétés définies pour l’occurrence de PrintJob sont conservées après l’impression. Cela vous permet de réutiliser une occurrence de PrintJob et de conserver les préférences d’impression d’un utilisateur tout en proposant des préférences d’impression pour d’autres types de contenu dans votre application. Pour le contenu dans Flash Player et dans les versions d’AIR antérieures à 2, vous ne pouvez pas créer un deuxième objet PrintJob si le premier est toujours actif. Si vous créez un deuxième objet PrintJob (en appelant new PrintJob()
) tandis que le premier objet PrintJob est toujours actif, le deuxième objet PrintJob ne sera pas créé. Il est donc recommandé de vérifier la valeur de myPrintJob
avant de créer un deuxième objet PrintJob.
Valeur émise
IllegalOperationError — Dans Flash Player et les versions d’AIR antérieures à 2, renvoie une exception si un autre objet PrintJob est encore actif.
|
Eléments de l’API associés
addPage | () | méthode |
public function addPage(sprite:Sprite, printArea:Rectangle = null, options:PrintJobOptions = null, frameNum:int = 0):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9. |
Envoie l’objet Sprite spécifié en tant que page unique au spouleur d’impression. Avant d’utiliser cette méthode, vous devez créer un objet PrintJob, puis utiliser start()
ou start2()
Ensuite, après avoir appelé une ou plusieurs fois addPage()
pour une tâche d’impression, utilisez send()
pour envoyer à l’imprimante les pages mises en file d’attente. En d’autres termes, après avoir créé un objet PrintJob, utilisez (dans l’ordre spécifié ci-après) start()
ou start2()
, addPage()
, puis send()
pour envoyer la tâche d’impression à l’imprimante. Vous pouvez appeler addPage()
plusieurs fois après un unique appel à start()
pour imprimer plusieurs pages d’une tâche d’impression.
Si addPage()
entraîne le renvoi d’une exception par Flash Player (par exemple, si vous n’avez pas appelé start()
ou si l’utilisateur a annulé la tâche d’impression), les appels suivants de addPage()
échoueront. Cependant, si les appels précédents de addPage()
ont abouti, la commande finale send()
envoie les pages correctement mises en file d’attente vers l’imprimante.
Si la tâche d’impression met plus de 15 secondes à exécuter une opération addPage()
, Flash Player renvoie une exception au prochain appel de addPage()
.
Si vous avez transmis une valeur pour le paramètre printArea
, les coordonnées x
et y
du rectangle printArea
établissent une correspondance avec le coin supérieur gauche (coordonnées 0, 0) de la zone imprimable sur la page. Les propriétés en lecture seule pageHeight
et pageWidth
décrivent la zone imprimable définie par start()
. Dans la mesure où elle s’aligne sur le coin supérieur gauche de la zone imprimable sur la page, l’impression est recadrée sur la droite et/ou le bas de la zone définie par printArea
si la taille de cette zone printArea
est supérieure à celle de la zone imprimable sur la page. Dans Flash Professional, si vous ne transmettez aucune valeur pour le paramètre printArea
et si la taille de la scène est supérieure à celle de la zone imprimable, le même type de découpage est effectué. Dans Flex ou Flash Builder, si vous ne transmettez aucune valeur pour le paramètre printArea
et si la taille de l’écran est supérieure à celle de la zone imprimable, le même type de découpage est effectué.
Si vous souhaitez redimensionner un objet Sprite avant de l’imprimer, définissez ses propriétés d’échelle (voir flash.display.DisplayObject.scaleX
et flash.display.DisplayObject.scaleY
) avant d’appeler cette méthode, puis restaurez leur valeur d’origine après l’impression. L’échelle d’un objet Sprite ne dépend pas de printArea
. Autrement dit, si vous spécifiez une zone d’impression dont la taille est 50 x 50 pixels, 2 500 pixels sont imprimés. Si vous redimensionnez l’objet Sprite, les 2 500 pixels sont imprimés, mais l’objet est imprimé à l’échelle retenue.
La fonction d’impression de Flash Player prend en charge les imprimantes PostScript et non PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps.
Paramètres
sprite:Sprite — Sprite contenant le contenu à imprimer.
| |
printArea:Rectangle (default = null ) — Objet Rectangle qui spécifie la zone à imprimer.
La largeur et la hauteur d’un rectangle correspondent à des valeurs de pixel. Une imprimante utilise les points en tant qu’unités de mesure. Les points ont une taille physique fixe (1/72ème de pouce), mais la taille d’un pixel à l’écran varie selon la résolution de ce dernier. De ce fait, le taux de conversion entre les pixels et les points dépend de la configuration de l’imprimante et du redimensionnement éventuel du sprite. Un sprite non mis à l’échelle d’une largeur de 72 pixels mesure un pouce (2,54 cm) de large lorsqu’il est imprimé, sachant qu’un point correspond à un pixel quelle que soit la résolution de l’écran. Vous pouvez utiliser les équivalences suivantes pour convertir les pouces ou les centimètres en twips ou points (un twip correspond à 1/20ème de point) :
Si vous omettez le paramètre Si vous ne souhaitez pas spécifier de valeur pour | |
options:PrintJobOptions (default = null ) — Paramètre facultatif qui spécifie une impression sous forme de vecteur ou de bitmap. La valeur par défaut est null , ce qui représente une demande d’impression vectorielle. Pour imprimer le sprite sous forme de bitmap, réglez la propriété printAsBitmap de l’objet PrintJobOptions sur true . Tenez compte des suggestions suivantes pour décider s’il est judicieux de régler printAsBitmap sur true :
Si | |
frameNum:int (default = 0 ) — Nombre facultatif qui permet de spécifier l’image d’un objet MovieClip devant être imprimée. La transmission de frameNum n’invoque pas ActionScript sur cette image. Si vous omettez ce paramètre et si le paramètre sprite est un objet MovieClip, l’image active du sprite est imprimée.
|
Valeur émise
Error — Renvoie une exception si vous n’avez pas appelé start() ou si l’utilisateur a annulé la tâche d’impression.
|
Plus d’exemples
Eléments de l’API associés
selectPaperSize | () | méthode |
public function selectPaperSize(paperSize:String):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Définit le format de papier. Les valeurs admises pour le paramètre paperSize
sont des constantes dans la classe PaperSize. L’appel de cette méthode a une incidence sur les paramètres d’impression, comme si l’utilisateur choisissait un format de papier dans la boîte de dialogue Mise en page ou Imprimer.
Vous pouvez appeler cette méthode à tout moment. Appelez cette méthode avant de lancer une tâche d’impression afin de définir le format de papier par défaut dans la boîte de dialogue Mise en page ou Imprimer. Appelez cette méthode lorsqu’une tâche d’impression est en cours afin de définir le format de papier d’une étendue de pages dans la tâche.
import flash.printing.PrintJob; import flash.printing.PaperSize; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.selectPaperSize(PaperSize.ENV_10);
Paramètres
paperSize:String — Format de papier à utiliser pour les pages suivantes de la tâche d’impression
|
Valeur émise
ArgumentError — si le paramètre paperSize n’est pas l’une des valeurs admises définies dans la classe PaperSize.
|
Eléments de l’API associés
send | () | méthode |
public function send():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9. |
Envoie les pages mises en file d’attente à l’imprimante après l’aboutissement de l’appel des méthodes start()
ou start2()
et addPage()
.
Cette méthode n’aboutit pas si l’appel à la méthode start()
ou start2()
échoue ou si un appel à la méthode addPage()
renvoie une exception. Pour éviter une erreur, vérifiez que la méthode start()
ou start2()
renvoie true
et repérez les exceptions de addPage()
avant d’appeler cette méthode. L’exemple suivant explique comment vérifier correctement les erreurs avant d’appeler cette méthode :
var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.start()) { try { myPrintJob.addPage([params]); } catch(e:Error) { // handle error } myPrintJob.send(); }
Plus d’exemples
Eléments de l’API associés
showPageSetupDialog | () | méthode |
public function showPageSetupDialog():Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Affiche la boîte de dialogue Mise en page du système d’exploitation si l’environnement actuel le permet. Utilisez la propriété supportsPageSetupDialog
afin de déterminer si l’affichage de la boîte de dialogue Mise en page est pris en charge.
import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.supportsPageSetupDialog) { myPrintJob.showPageSetupDialog(); }
Boolean — true si l’utilisateur choisit « OK » dans la boîte de dialogue Mise en page. Cela indique que certaines propriétés de PrintJob peuvent avoir été modifiées. Renvoie false si l’utilisateur choisit « Annuler » dans la boîte de dialogue Mise en page.
|
Valeur émise
IllegalOperationError — si le système ne prend pas en charge la mise en page. Utilisez la propriété supportsPageSetupDialog afin de déterminer si l’affichage de la boîte de dialogue Mise en page est pris en charge.
| |
IllegalOperationError — si une tâche d’impression (notamment la tâche d’impression en cours) est active.
|
Eléments de l’API associés
start | () | méthode |
public function start():Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9., Flash Player 9. |
Affiche la boîte de dialogue d’impression du système d’exploitation et démarre la mise en file d’attente. La boîte de dialogue Imprimer permet à l’utilisateur de modifier les paramètres d’impression. Lorsque la méthode PrintJob.start()
est correctement renvoyée (l’utilisateur clique sur OK dans la boîte de dialogue Imprimer), les propriétés suivantes, qui représentent les paramètres d’impression en cours de l’utilisateur, sont renseignées :
Propriété | Type | Units | Remarques |
---|---|---|---|
PrintJob.paperHeight | Number | Points | Hauteur totale du papier. |
PrintJob.paperWidth | Number | Points | Largeur totale du papier. |
PrintJob.pageHeight | Number | Points | Hauteur de la zone imprimable réelle de la page. Les marges éventuellement définies par l’utilisateur sont ignorées. |
PrintJob.pageWidth | Number | Points | Largeur de la zone imprimable réelle de la page. Les marges éventuellement définies par l’utilisateur sont ignorées. |
PrintJob.orientation | String | "portrait" (flash.printing.PrintJobOrientation.PORTRAIT ) ou "paysage" (flash.printing.PrintJobOrientation.LANDSCAPE ). |
Remarque : si l’utilisateur annule la boîte de dialogue d’impression, les propriétés ne sont pas renseignées.
Une fois que l’utilisateur a cliqué sur OK dans la boîte de dialogue d’impression, le lecteur démarre le processus de mise en attente d’une tâche d’impression dans le système d’exploitation. Dans la mesure où le système d’exploitation commence alors à afficher des informations sur le déroulement de l’impression, il est conseillé d’appeler PrintJob.addPage()
et PrintJob.send()
dès que possible pour envoyer les pages au spouleur. Vous pouvez utiliser les propriétés en lecture seule height, width et orientation qui sont renseignées par cette méthode pour mettre en forme l’impression.
Vérifiez que cette méthode renvoie la valeur true
(lorsque l’utilisateur clique sur OK dans la boîte de dialogue d’impression du système d’exploitation) avant d’appeler à nouveau PrintJob.addPage()
et PrintJob.send()
:
var myPrintJob:PrintJob = new PrintJob(); if(myPrintJob.start()) { // addPage() and send() statements here }
Si l’un des intervalles suivants dure plus de 15 secondes pour l’occurrence de la tâche d’impression spécifiée, le prochain appel de PrintJob.start()
renvoie false
:
PrintJob.start()
et le premier appel dePrintJob.addPage()
- Un appel de
PrintJob.addPage()
et le prochain appel dePrintJob.addPage()
- Le dernier appel de
PrintJob.addPage()
etPrintJob.send()
Boolean — Renvoie true si l’utilisateur clique sur OK lorsque la boîte de dialogue d’impression s’affiche, false s’il clique sur Annuler ou si une erreur se produit.
|
Valeur émise
IllegalOperationError — Dans AIR 2 ou les versions ultérieures, indique si une autre tâche d’impression est actuellement en cours.
|
Plus d’exemples
Eléments de l’API associés
start2 | () | méthode |
public function start2(uiOptions:PrintUIOptions = null, showPrintDialog:Boolean = true):Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Affiche éventuellement la boîte de dialogue Imprimer du système d’exploitation, démarre la mise en file d’attente et, le cas échéant, modifie les valeurs des propriétés en lecture seule de l’objet PrintJob.
Le paramètre uiOptions
permet à l’appelant de contrôler les options qui s’affichent dans la boîte de dialogue Imprimer. Voir la classe PrintUIOptions
. Ce paramètre est ignoré si showPrintDialog
est false.
Même lorsque le paramètre showPrintDialog
est défini sur true
, le comportement de cette méthode peut différer de celui de la méthode start()
. Sur certains systèmes d’exploitation, start()
affiche la boîte de dialogue Mise en page, suivie de la boîte de dialogue Imprimer. En revanche, start2()
n’affiche jamais la boîte de dialogue Mise en page.
Dans l’exemple suivant, le nombre maximal et le nombre minimal de pages de la boîte de dialogue d’impression sont définis avant que l’utilisateur ne voie s’afficher la boîte de dialogue :
import flash.printing.PrintJob; import flash.printing.PrintUIOptions; var myPrintJob:PrintJob = new PrintJob(); var uiOpt:PrintUIOptions = new PrintUIOptions(); uiOpt.minPage = 1; uiOpt.maxPage = 3; var accepted:Boolean = myPrintJob.start2(uiOpt);
Paramètres
uiOptions:PrintUIOptions (default = null ) — Objet désignant les options affichées dans la boîte de dialogue Imprimer que l’utilisateur voit s’afficher. Si le paramètre showPrintDialog est défini sur false , cette valeur est ignorée.
| |
showPrintDialog:Boolean (default = true ) — Indique si la boîte de dialogue d’impression s’affiche à l’utilisateur avant de lancer la tâche d’impression.
|
Boolean — La valeur true si l’utilisateur clique sur OK lorsque la boîte de dialogue Imprimer s’affiche, ou si elle n’apparaît pas et qu’aucune erreur n’est renvoyée ; false si l’utilisateur clique sur Annuler ou si une erreur se produit.
|
Valeur émise
IllegalOperationError — Si la boîte de dialogue Mise en page s’affiche ou si une autre tâche d’impression est actuellement active.
|
Eléments de l’API associés
terminate | () | méthode |
public function terminate():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2 |
Signale que la tâche d’impression doit être fermée sans être envoyée. Utilisez cette méthode lorsqu’une tâche d’impression a déjà été lancée par un appel de la méthode start()
ou start2()
, mais qu’il n’est pas opportun d’envoyer les pages à l’imprimante. En règle générale, la méthode terminate()
est utilisée uniquement pour purger les erreurs.
Après l’appel de cette méthode, il est possible de réutiliser l’occurrence de PrintJob. Dans la mesure du possible, les paramètres d’impression de la tâche sont conservés.
addPage()
ajoute le sprite en tant que page unique. La méthode send()
met la page en file d’attente dans l’imprimante.
package { import flash.printing.PrintJob; import flash.display.Sprite; public class BasicPrintExample extends Sprite { var myPrintJob:PrintJob = new PrintJob(); var mySprite:Sprite = new Sprite(); mySprite.graphics.beginFill(0x336699); mySprite.graphics.drawCircle(100, 100, 50); public function BasicPrintExample() { if (myPrintJob.start()) { try { myPrintJob.addPage(mySprite); } catch(e:Error) { // handle error } myPrintJob.send(); } } }
PrintJobExample
pour créer un petit document qui est ensuite envoyé à l’imprimante. Pour ce faire, exécutez la procédure suivante :
- Deux variables de type Sprite, nommées
sheet1
etsheet2
, sont déclarées. init()
est appelé pour attribuer une nouvelle occurrence de Sprite àsheet1
etsheet2
, et pour appeler ensuitecreateSheet()
au moyen de différents arguments.createSheet()
produit le résultat suivant :- L’objet Sprite transmis est utilisé pour dessiner un rectangle d’une largeur de 100 pixels pour une hauteur de 200 pixels (x = 0 et y = 0), avec un arrière-plan de couleur gris clair et une bordure noire d’un pixel d’épaisseur.
- Un nouvel objet TextField, nommé
txt
, est créé en utilisant les dimensions du Sprite ; la propriété wordWrap est définie surtrue
et la propriété text est définie sur le Sprite transmis comme argument àcreateSheet()
. - Si la valeur de l’argument Object transmis n’est pas null, créez une nouvelle occurrence du Sprite nommée
img
et utilisée pour dessiner un rectangle blanc à l’aide des propriétés de dimension et de coordonnée de l’objet transmis. Le rectangle blanc est ajouté à la liste d’affichage de l’objet Sprite par le biais deaddChild()
. - L’objet TextField
txt
est ajouté à la liste d’affichage de l’objet Sprite au moyen deaddChild()
.
- Au niveau du constructeur, la méthode d’impression qui est activée (pas commentée) est appelée. En raison de la similitude des méthodes, seule
printOnePerPage()
est décrite ci-dessous. printOnePerPage()
produit le résultat suivant :- Déclaration d’un nouvel objet PrintJob, nommé
pj
, et depagesToPrint
en tant que uint. - Ouverture de la boîte de dialogue d’impression native du système d’exploitation et attente que l’utilisateur clique sur
OK
. - Vérification de l’orientation et si l’option Paysage est sélectionnée, renvoi d’une erreur et fermeture.
- Définition de la hauteur et de la largeur de la page pour
sheet1
etsheet2
. - Envoi de
sheet1
etsheet2
au spouleur d’impression par le biais deaddPage()
. - Si le nombre de pages à imprimer est > 0, impression de toutes les pages spoulées.
- Déclaration d’un nouvel objet PrintJob, nommé
- La méthode
draw()
est appelée, redimensionnement des deux propriétés Sprite pour les intégrer à la scène avec un repositionnement desheet2
pour qu’elle se situe juste à droite desheet1
.
Remarque : le constructeur est configuré de telle manière que l’une des trois méthodes d’impression (une feuille par page, deux feuilles par page ou impression dans la moitié supérieure de la page) peut être sélectionnée en fonction d’une préférence. Cet exemple ne s’exécutera pas correctement à moins que précisément deux des méthodes d’impression ne soient désactivées au moyen de commentaires de code. L’exemple est conçu pour que printOnePerPage()
soit appelée.
package { import flash.printing.PrintJob; import flash.printing.PrintJobOrientation; import flash.display.Stage; import flash.display.Sprite; import flash.text.TextField; import flash.geom.Rectangle; public class PrintJobExample extends Sprite { private var sheet1:Sprite; private var sheet2:Sprite; public function PrintJobExample() { init(); printOnePerPage(); // printTwoPerPage(); // printTopHalf(); draw(); } private function init():void { sheet1 = new Sprite(); createSheet(sheet1, "Once upon a time...", {x:10, y:50, width:80, height:130}); sheet2 = new Sprite(); createSheet(sheet2, "There was a great story to tell, and it ended quickly.\n\nThe end.", null); } private function createSheet(sheet:Sprite, str:String, imgValue:Object):void { sheet.graphics.beginFill(0xEEEEEE); sheet.graphics.lineStyle(1, 0x000000); sheet.graphics.drawRect(0, 0, 100, 200); sheet.graphics.endFill(); var txt:TextField = new TextField(); txt.height = 200; txt.width = 100; txt.wordWrap = true; txt.text = str; if(imgValue != null) { var img:Sprite = new Sprite(); img.graphics.beginFill(0xFFFFFF); img.graphics.drawRect(imgValue.x, imgValue.y, imgValue.width, imgValue.height); img.graphics.endFill(); sheet.addChild(img); } sheet.addChild(txt); } private function printOnePerPage():void { var pj:PrintJob = new PrintJob(); var pagesToPrint:uint = 0; if(pj.start()) { if(pj.orientation == PrintJobOrientation.LANDSCAPE) { throw new Error("Without embedding fonts you must print one sheet per page with an orientation of portrait."); } sheet1.height = pj.pageHeight; sheet1.width = pj.pageWidth; sheet2.height = pj.pageHeight; sheet2.width = pj.pageWidth; try { pj.addPage(sheet1); pagesToPrint++; } catch(e:Error) { // do nothing } try { pj.addPage(sheet2); pagesToPrint++; } catch(e:Error) { // do nothing } if(pagesToPrint > 0) { pj.send(); } } } private function printTwoPerPage():void { var pj:PrintJob = new PrintJob(); var pagesToPrint:uint = 0; if(pj.start()) { if(pj.orientation == PrintJobOrientation.PORTRAIT) { throw new Error("Without embedding fonts you must print two sheets per page with an orientation of landscape."); } sheet1.height = pj.pageHeight; sheet1.width = pj.pageWidth/2; sheet2.height = pj.pageHeight; sheet2.width = pj.pageWidth/2; var sheets:Sprite = new Sprite(); sheets.addChild(sheet1); sheets.addChild(sheet2); sheets.getChildAt(1).x = sheets.getChildAt(0).width; try { pj.addPage(sheets); pagesToPrint++; } catch(e:Error) { // do nothing } if(pagesToPrint > 0) { pj.send(); } } } private function printTopHalf():void { var pj:PrintJob = new PrintJob(); var pagesToPrint:uint = 0; if(pj.start()) { if(pj.orientation == PrintJobOrientation.PORTRAIT) { throw new Error("Without embedding fonts you must print the top half with an orientation of landscape."); } sheet1.height = pj.pageHeight; sheet1.width = pj.pageWidth/2; sheet2.height = pj.pageHeight; sheet2.width = pj.pageWidth/2; var sheets:Sprite = new Sprite(); sheets.addChild(sheet1); sheets.addChild(sheet2); sheets.getChildAt(1).x = sheets.getChildAt(0).width; try { pj.addPage(sheets, new Rectangle(0, 0, sheets.width, sheets.height/2)); pagesToPrint++; } catch(e:Error) { // do nothing } if(pagesToPrint > 0) { pj.send(); } } } private function draw():void { var sheetWidth:Number = this.stage.stageWidth/2; var sheetHeight:Number = this.stage.stageHeight; addChild(sheet1); sheet1.width = sheetWidth; sheet1.height = sheetHeight; addChild(sheet2); sheet2.width = sheetWidth; sheet2.height = sheetHeight; sheet2.x = sheet1.width; } } }
package { import flash.display.Sprite; import flash.display.Stage; import flash.geom.Rectangle; import flash.printing.PaperSize; import flash.printing.PrintJob; import flash.printing.PrintJobOrientation; import flash.printing.PrintUIOptions; import flash.text.TextField; public class PrintJobExample extends Sprite { private var bg:Sprite; private var txt:TextField; private var pj:PrintJob; private var uiOpt:PrintUIOptions; public function PrintJobExample():void { var pj = new PrintJob(); uiOpt = new PrintUIOptions(); initPrintJob(); initContent(); draw(); printPage(); } private function printPage():void { if (pj.supportsPageSetupDialog) { pj.showPageSetupDialog(); } if (pj.start2(uiOpt, true)) { try { pj.addPage(this, new Rectangle(0, 0, 100, 100)); } catch (error:Error) { // Do nothing. } pj.send(); } else { txt.text = "Print job terminated"; pj.terminate(); } } private function initContent():void { bg = new Sprite(); bg.graphics.beginFill(0x00FF00); bg.graphics.drawRect(0, 0, 100, 200); bg.graphics.endFill(); txt = new TextField(); txt.border = true; txt.text = "Hello World"; } private function initPrintJob():void { pj.setPaperSize(PaperSize.LEGAL); pj.orientation = PrintJobOrientation.LANDSCAPE; pj.copies = 2; pj.jobName = "Flash test print"; } private function draw():void { addChild(bg); addChild(txt); txt.x = 50; txt.y = 50; } } }
Tue Jun 12 2018, 09:30 AM Z