Falls der Benutzer den Druckauftrag abgebrochen hat, sollten Sie zunächst überprüfen, ob die
PrintJob.start()
-Methode den Wert
true
zurückgibt, und erst dann
addPage()
und
send()
aufrufen. Sie können auf einfache Weise überprüfen, ob diese Methoden abgebrochen wurden, indem Sie sie wie folgt in eine
if
-Anweisung einschließen:
if (myPrintJob.start())
{
// addPage() and send() statements here
}
Wenn
PrintJob.start()
auf
true
eingestellt ist, hat der Benutzer den Druckbefehl ausgewählt (oder eine Flash-Laufzeitumgebung, wie Flash Player oder AIR, hat einen Druckbefehl aufgerufen). Deshalb können die Methoden
addPage()
und
send()
aufgerufen werden.
Zur besseren Verwaltung des Druckvorgangs werden in Flash-Laufzeitumgebungen Ausnahmen für die
PrintJob.addPage()
-Methode ausgelöst, sodass Fehler abgefangen und dem Benutzer Informationen und Optionen bereitgestellt werden können. Wenn bei einer
PrintJob.addPage()
-Methode Fehler auftreten, können Sie zudem eine andere Funktion aufrufen oder den aktuellen Druckauftrag abbrechen. Sie können diese Ausnahmen abfangen, indem Sie
addPage()
-Aufrufe in eine
try..catch
-Anweisung einbetten, wie im folgenden Beispiel gezeigt. In diesem Beispiel ist
[params]
ein Platzhalter für die Parameter, mit denen der zu druckende Inhalt angegeben wird:
if (myPrintJob.start())
{
try
{
myPrintJob.addPage([params]);
}
catch (error:Error)
{
// Handle error,
}
myPrintJob.send();
}
Nachdem der Druckauftrag gestartet wurde, können Sie mit
PrintJob.addPage()
Inhalte hinzufügen und prüfen, ob dadurch eine Ausnahme ausgelöst wird (z. B. wenn der Benutzer den Druckauftrag abgebrochen hat). Wenn eine Ausnahme ausgelöst wird, können Sie Code zur
catch
-Anweisung hinzufügen, um dem Benutzer (oder der Flash-Laufzeitumgebung) Informationen oder Optionen bereitzustellen, oder den aktuellen Druckauftrag abbrechen. Wenn die Seite erfolgreich hinzugefügt wurde, können Sie fortfahren und die Seiten mit
PrintJob.send()
an den Drucker senden.
Wenn in der Flash-Laufzeitumgebung beim Senden des Druckauftrags an den Drucker ein Fehler auftritt (wenn der Drucker z. B. offline ist), können Sie auch diese Ausnahme abfangen und Informationen oder weitere Optionen bereitstellen (z. B. Anzeigen eines Meldungstexts oder einer Warnmeldung in der Animation). Sie können z. B. einem Textfeld neuen Text in einer
if..else
-Anweisung zuweisen, wie im folgenden Beispielcode gezeigt:
if (myPrintJob.start())
{
try
{
myPrintJob.addPage([params]);
}
catch (error:Error)
{
// Handle error.
}
myPrintJob.send();
}
else
{
myAlert.text = "Print job canceled";
}
Ein praktisches Beispiel finden Sie unter
Druckbeispiel: Skalieren, Zuschneiden und Anpassen
.