Kullanıcının yazdırma işini iptal etmiş olma ihtimaline karşı,
addPage()
ve
send()
çağrılarını çalıştırmadan önce,
PrintJob.start()
yönteminin
true
değerini döndürüp döndürmediğini kontrol edin. Devam etmeden önce bu yöntemlerin iptal edilmiş olup olmadığını kontrol ermenin basit bir yolu, aşağıdaki gibi, bu yöntemlerin
if
ifadesinde sarılmasıdır:
if (myPrintJob.start())
{
// addPage() and send() statements here
}
PrintJob.start()
öğesi
true
ise, kullanıcı Print'i seçer (veya Flash Player ya da AIR gibi bir Flash çalışma zamanı, Yazdır komutunu başlatabilir). Bu yüzden,
addPage()
ve
send()
yöntemleri çağırılır.
Ayrıca Flash çalışma zamanları yazdırma işleminin yönetilmesine yardımcı olmak üzere
PrintJob.addPage()
yöntemi için istisnalar atar, böylece hataları yakalayıp kullanıcıya bilgi ve seçenekler sağlayabilirsiniz.
PrintJob.addPage()
yöntemi başarısız olursa, başka bir işlevi çağırabilir veya geçerli yazdırma işini durdurabilirsiniz. Bu istisnaları yakalamak için, aşağıdaki örnekte görüldüğü gibi,
addPage()
çağrılarını bir
try..catch
deyimine gömersiniz. Örnekteki
[params]
öğesi, yazdırmak istediğiniz gerçek içeriği belirten parametrelerin yer tutucusudur:
if (myPrintJob.start())
{
try
{
myPrintJob.addPage([params]);
}
catch (error:Error)
{
// Handle error,
}
myPrintJob.send();
}
Yazdırma işi başlatıldıktan sonra,
PrintJob.addPage()
öğesini kullanarak içerik ekleyebilir ve bunun bir istisna oluşturup oluşturmadığını (örneğin, kullanıcının yazdırma işini iptal edip etmediğini) görebilirsiniz. İstisna oluşuyorsa, kullanıcıya (veya Flash çalışma zamanına) bilgi ve seçenekler sağlamak için
catch
deyimine mantık ekleyebilir veya geçerli yazdırma işini durdurabilirsiniz. Sayfayı başarıyla eklerseniz
PrintJob.send()
öğesini kullanarak sayfaları yazıcıya gönderme işlemine devam edebilirsiniz.
Flash Player veya AIR uygulaması, yazdırma işinin yazıcıya gönderilmesiyle ilgili bir sorunla karşılaşırsa (örneğin, yazıcı çevrimdışı olduğunda), bu istisnayı da yakalayabilir ve bilgi veya daha fazla seçenek sağlayabilirsiniz (örneğin bir mesaj metni görüntüleyerek veya animasyonun içine bir uyarı yerleştirerek). Örneğin, aşağıdaki kodun gösterdiği gibi, bir
if..else
deyimindeki metin alanına yeni metin atayabilirsiniz:
if (myPrintJob.start())
{
try
{
myPrintJob.addPage([params]);
}
catch (error:Error)
{
// Handle error.
}
myPrintJob.send();
}
else
{
myAlert.text = "Print job canceled";
}
Çalışan bir örnek için bkz.
Yazdırma örneği: Ölçekleme, kırpma ve yanıtlama
.