Verificate se il metodo
PrintJob.start()
restituisce
true
prima di eseguire le chiamate a
addPage()
e
send()
, qualora l'utente abbia annullato il lavoro di stampa. Un metodo semplice per verificare se questi metodi sono stati annullati, prima di continuare, consiste nell'inserirli in un'istruzione
if
, come riportato di seguito:
if (myPrintJob.start())
{
// addPage() and send() statements here
}
Se
PrintJob.start()
è
true
, l'utente ha selezionato Stampa (o un runtime Flash, ad esempio Flash Player o AIR, ha avviato un comando di stampa). Pertanto, i metodi
addPage()
e
send()
possono essere chiamati.
Inoltre, per facilitare la gestione del processo di stampa, i runtime di Flash generano delle eccezioni per il metodo
PrintJob.addPage()
, così che sia possibile rilevare gli errori e presentare le informazioni e le opzioni all'utente. Se un metodo
PrintJob.addPage()
ha esito negativo, è possibile chiamare un'altra funzione oppure interrompere il lavoro di stampa corrente. Per rilevare queste eccezioni, incorporate le chiamate ad
addPage()
all'interno di un'istruzione
try..catch
, come nell'esempio seguente. Nell'esempio,
[params]
è un segnaposto per i parametri che specificano il contenuto effettivo da stampare.
if (myPrintJob.start())
{
try
{
myPrintJob.addPage([params]);
}
catch (error:Error)
{
// Handle error,
}
myPrintJob.send();
}
Una volta avviato il lavoro di stampa, potete aggiungere il contenuto utilizzando
PrintJob.addPage()
e verificare se viene generata un'eccezione (ad esempio, se l'utente ha annullato il lavoro di stampa). In caso contrario, è possibile aggiungere logica all'istruzione
catch
per fornire all'utente (o al runtime di Flash) le informazioni e le opzioni, oppure è possibile interrompere il lavoro di stampa corrente. Se la pagina viene aggiunta correttamente, potete procedere all'invio delle pagine alla stampante utilizzando
PrintJob.send()
.
Se durante l'invio del lavoro di stampa alla stampante si verifica un problema (ad esempio, la stampante non è in linea), potete rilevare anche quell'eccezione e fornire all'utente le informazioni o ulteriori opzioni (ad esempio la visualizzazione del testo di un messaggio o la presentazione di un avviso all'interno di un'animazione). È possibile ad esempio assegnare nuovo testo a un campo di testo in un'istruzione
if..else
, come mostra il codice seguente:
if (myPrintJob.start())
{
try
{
myPrintJob.addPage([params]);
}
catch (error:Error)
{
// Handle error.
}
myPrintJob.send();
}
else
{
myAlert.text = "Print job canceled";
}
Per un esempio funzionante, vedete
Esempio di stampa: modifica in scala, ritaglio e risposta
.