Ga na of de methode
PrintJob.start()
de waarde
true
retourneert voordat u de aanroepen
addPage()
en
send()
uitvoert, voor het geval de gebruiker de afdruktaak heeft geannuleerd. Een eenvoudige manier om voordat u verdergaat te controleren of deze methoden zijn geannuleerd, is ze als volgt op te nemen in een instructie
if
:
if (myPrintJob.start())
{
// addPage() and send() statements here
}
Als
PrintJob.start()
is ingesteld op
true
, heeft de gebruiker de opdracht Afdrukken geselecteerd (of is deze opdracht geactiveerd door de Flash-runtime (bijvoorbeeld door Flash Player of AIR)). De methoden
addPage()
en
send()
kunnen dus worden aangeroepen.
Voor het beheren van het afdrukproces, genereren Flash Player en AIR bovendien uitzonderingen voor de methode
PrintJob.addPage()
, zodat u fouten kunt afvangen en de gebruiker van informatie en opties kunt voorzien. Als een methode
PrintJob.addPage()
mislukt, kunt u ook een andere functie aanroepen of de huidige afdruktaak stopzetten. U vangt deze uitzonderingen af door aanroepen
addPage()
in te sluiten in een instructie
try..catch
, zoals in het volgende voorbeeld. In het voorbeeld is
[params]
een plaatsaanduiding voor de parameters die aangeven welke inhoud u wilt afdrukken:
if (myPrintJob.start())
{
try
{
myPrintJob.addPage([params]);
}
catch (error:Error)
{
// Handle error,
}
myPrintJob.send();
}
Nadat de afdruktaak is begonnen, kunt u de inhoud toevoegen met behulp van
PrintJob.addPage()
en controleert u vervolgens of daardoor een uitzondering wordt gegenereerd (bijvoorbeeld als de gebruiker de afdruktaak heeft geannuleerd). Als dit geval het geval is, kunt u logica toevoegen aan de instructie
catch
om de gebruiker (of de Flash runtime) te voorzien van informatie en opties. Als de pagina wordt toegevoegd, kunt u meerdere pagina’s naar de printer sturen met
PrintJob.send()
.
Als de Flash runtime een probleem ondervindt tijdens het verzenden van de afdruktaak naar de printer (bijvoorbeeld omdat de printer offline is), kunt u ook die uitzonderingsfout onderscheppen en de gebruiker voorzien van informatie of andere opties (zoals het weergeven van een tekstbericht of het opnemen van een waarschuwing in een animatie). U kunt bijvoorbeeld nieuwe tekst toevoegen aan een tekstveld in een instructie
if..else
, zoals in de volgende code:
if (myPrintJob.start())
{
try
{
myPrintJob.addPage([params]);
}
catch (error:Error)
{
// Handle error.
}
myPrintJob.send();
}
else
{
myAlert.text = "Print job canceled";
}
Een werkend voorbeeld vindt u in
Voorbeeld van afdrukken: schalen, bijsnijden en reageren
.