Avant d’appeler
addPage()
et
send()
, vérifiez que la méthode
PrintJob.start()
renvoie la valeur
true
, au cas où l’utilisateur aurait annulé la tâche d’impression. Une manière simple de vérifier si ces méthodes ont été annulées avant de poursuivre consiste à les intégrer à une instruction
if
, comme suit :
if (myPrintJob.start())
{
// addPage() and send() statements here
}
Si
PrintJob.start()
est défini sur
true
, l’utilisateur a sélectionné Imprimer ou un moteur d’exécution de Flash, tel que Flash Player ou AIR, a initié une commande d’impression. Vous pouvez alors appeler les méthodes
addPage()
et
send()
.
En outre, pour faciliter la gestion du processus d’impression, les moteurs d’exécution Flash renvoient des exceptions pour la méthode
PrintJob.addPage()
. Vous pouvez ainsi intercepter les erreurs et fournir des informations et des options à l’utilisateur. Si une méthode
PrintJob.addPage()
échoue, il est également possible d’appeler une autre fonction ou d’arrêter la tâche d’impression en cours. Vous interceptez ces exceptions en intégrant des appels
addPage()
à une instruction
try..catch
, comme illustré par l’exemple suivant. Dans cet exemple,
[params]
constitue un espace réservé pour les paramètres spécifiant le contenu réel à imprimer :
if (myPrintJob.start())
{
try
{
myPrintJob.addPage([params]);
}
catch (error:Error)
{
// Handle error,
}
myPrintJob.send();
}
Une fois la tâche d’impression lancée, vous pouvez ajouter le contenu à l’aide de
PrintJob.addPage()
pour voir s’il génère une exception (par exemple si l’utilisateur a annulé la tâche d’impression). Si tel est le cas, vous pouvez soit ajouter une logique à l’instruction
catch
pour fournir à l’utilisateur (ou au moteur d’exécution Flash) des informations et des options, soit arrêter la tâche d’impression en cours. Si l’ajout de page réussit, vous pouvez procéder à l’envoi des pages vers l’imprimante à l’aide de
PrintJob.send()
.
Si le moteur d’exécution Flash rencontre un problème lors de l’envoi de la tâche d’impression à l’imprimante (par exemple, si l’imprimante est hors ligne), il est également possible d’intercepter cette exception. Vous pouvez alors proposer d’autres informations ou options (tel l’affichage d’un message ou le lancement d’une alerte dans une animation). Vous pouvez, par exemple, affecter un nouveau texte à un champ texte dans une instruction
if..else
, comme illustré par le code suivant :
if (myPrintJob.start())
{
try
{
myPrintJob.addPage([params]);
}
catch (error:Error)
{
// Handle error.
}
myPrintJob.send();
}
else
{
myAlert.text = "Print job canceled";
}
Pour disposer d’un exemple qui fonctionne, voir
Exemple d’impression : mise à l’échelle, recadrage et ajustement
.