Paket | flash.printing |
Sınıf | public class PrintJob |
Miras Alma | PrintJob EventDispatcher Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Mobil Tarayıcı Desteği: Bu sınıf mobil tarayıcılarda desteklenmez.
AIR profili desteği: Bu özellik tüm masaüstü işletim sistemlerinde desteklenir ancak mobil aygıtlarda veya AIR for TV aygıtlarında desteklenmez. Desteği çalışma zamanında PrintJob.isSupported
özelliğini kullanarak test edebilirsiniz. Birden fazla profilde API desteği ile ilgili daha fazla bilgi için bkz. AIR Profil Desteği.
Bir yazdırma işi oluşturmak için PrintJob(
yapıcısını kullanın.
Ek olarak, PrintJob sınıfının özellikleriyle, kullanıcınızın sayfa uzunluğu, genişliği ve görüntü yönlendirme gibi yazıcı ayarlarını okuyabilirsiniz ve belgenizi yazıcı ayarları için uygun Flash içeriğini dinamik olarak biçimlendirmek için konfigüre edebilirsiniz.
Not: ActionScript 3.0, bir PrintJob nesnesini tek bir kareyle kısıtlamaz (ActionScript'in önceki sürümlerinde olduğu gibi). Ancak kullanıcı, Yazdırma iletişim kutusundaki Tamam düğmesini tıklattıktan sonra işletim sistemi, yazdırma durum bilgisini kullanıcıya göstereceğinden, sayfaları kuyruğa hemen göndermek içinPrintJob.addPage()
ve PrintJob.send()
öğelerini çağırmalısınız. PrintJob.send()
çağrısını içeren kareye ulaşan bir gecikme, yazdırma işlemini geciktirir.
Ek olarak, 15 saniyelik bir komut dosyası zaman aşımı sınırı aşağıdaki aralıklara uygulanır:
-
PrintJob.start()
ve ilkPrintJob.addPage()
-
PrintJob.addPage()
ve sonrakiPrintJob.addPage()
- Sonuncu
PrintJob.addPage()
vePrintJob.send()
Yukarıdaki aralıklardan herhangi biri 15 saniyeden fazla sürerse, PrintJob örneği üzerindekiPrintJob.start()
öğesine yapılan bir sonraki çağrı false
değerini döndürür ve PrintJob örneği üzerindeki bir sonraki PrintJob.addPage()
öğesi Flash Player veya Adobe AIR'nin bir çalışma süresi istisnası atmasına neden olur.
Özellik | Tanımlayan: | ||
---|---|---|---|
active : Boolean [statik] [salt okunur]
Bir yazdırma işinin o sırada etkin olup olmadığını gösterir. | PrintJob | ||
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
copies : int
Yazdırma işine sonradan eklenen herhangi bir sayfanın yazdırma sistemi tarafından yazdırılan kopya sayısı. | PrintJob | ||
firstPage : int [salt okunur]
İşletim sisteminin Yazdırma iletişim kutusunda kullanıcı tarafından girilen aralığın birinci sayfasının sayfa numarası. | PrintJob | ||
isColor : Boolean [salt okunur]
O sırada seçili olup ve geçerli yazdırma ayarlarına sahip olan yazıcının renkli ayar mı (true) yoksa gri tonlamalı ayar mı (false) kullandığını belirtir. | PrintJob | ||
isSupported : Boolean [statik] [salt okunur]
PrintJob sınıfının geçerli platformda desteklenip (true) desteklenmediğini (false) belirtir. | PrintJob | ||
jobName : String
Yazdırma işinin adı veya başlığı. | PrintJob | ||
lastPage : int [salt okunur]
İşletim sisteminin Yazdırma iletişim kutusunda kullanıcı tarafından girilen aralığın son sayfasının sayfa numarası. | PrintJob | ||
maxPixelsPerInch : Number [salt okunur]
Seçili yazıcının fiziksel çözünürlüğü, piksel/inç cinsinden. | PrintJob | ||
orientation : String
Yazdırma için görüntü yönlendirmesi. | PrintJob | ||
pageHeight : int [salt okunur]
Sayfadaki asıl yazdırılabilir alanda ortalanabilen en büyük alanın yüksekliği, nokta cinsinden. | PrintJob | ||
pageWidth : int [salt okunur]
Sayfadaki asıl yazdırılabilir alanda ortalanabilen en büyük alanın genişliği, nokta cinsinden. | PrintJob | ||
paperArea : Rectangle [salt okunur]
Nokta cinsinden yazıcı medyasının sınırları. | PrintJob | ||
paperHeight : int [salt okunur]
Kağıdın nokta olarak tam yüksekliği. | PrintJob | ||
paperWidth : int [salt okunur]
Kağıdın nokta olarak tam genişliği. | PrintJob | ||
printableArea : Rectangle [salt okunur]
Yazıcı medyasının yazdırılabilir alanının nokta cinsinden sınırları. | PrintJob | ||
printer : String
Geçerli yazdırma işlemi için kullanılacak yazıcıyı alır veya ayarlar. | PrintJob | ||
printers : Vector.<String> [statik] [salt okunur]
Dize adı değerleri olarak mevcut yazıcıların bir listesini sağlar. | PrintJob | ||
supportsPageSetupDialog : Boolean [statik] [salt okunur]
Flash çalışma zamanı ortamının ayrı bir Sayfa Yapısı iletişim kutusunu destekleyip desteklemediğini gösterir. | PrintJob |
Yöntem | Tanımlayan: | ||
---|---|---|---|
PrintJob()
Bir veya daha fazla sayfa yazdırmak için kullanabileceğiniz bir PrintJob nesnesi oluşturur. | PrintJob | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
EventDispatcher nesnesi olan bir olay dinleyici nesnesini, dinleyicinin bir olayın bildirimini alması için kaydeder. | EventDispatcher | ||
addPage(sprite:Sprite, printArea:Rectangle = null, options:PrintJobOptions = null, frameNum:int = 0):void
Belirtilen Sprite nesnesini tek bir sayfa olarak yazıcı kuyruğuna gönderir. | PrintJob | ||
Olay akışına bir olay gönderir. | EventDispatcher | ||
EventDispatcher nesnesinin belirli bir olay türü için kayıtlı dinleyicisi olup olmadığını kontrol eder. | EventDispatcher | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
EventDispatcher nesnesinden bir dinleyiciyi kaldırır. | EventDispatcher | ||
Sayfa boyutunu ayarlar. | PrintJob | ||
start() veya start2() ve addPage() yöntemlerine yapılan başarılı çağrılardan sonra sıraya konmuş sayfaları yazıcıya gönderir. | PrintJob | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Geçerli medya bunu desteklerse, işletim sisteminin Sayfa Yapısı'nı görüntüler. | PrintJob | ||
İşletim sisteminin Yazdırma iletişim kutusunu görüntüler ve sıraya almayı başlatır. | PrintJob | ||
İşletim sisteminin Yazdırma iletişim kutusunu isteğe bağlı olarak gösterir, sıraya almayı başlatır ve PrintJob salt okunur özellik değerlerini değiştirebilir. | PrintJob | ||
Yazdırma işinin göndermeden sonlandırılması gerektiğini söyler. | PrintJob | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
Belirtilen nesnenin temel değerini döndürür. | Object | ||
Bir olay dinleyicisinin bu EventDispatcher nesnesiyle mi, yoksa onun belirtilen olay türüne yönelik üst öğelerinden biriyle mi kayıtlı olduğunu kontrol eder. | EventDispatcher |
active | özellik |
active:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Bir yazdırma işinin o sırada etkin olup olmadığını gösterir. Bir yazdırma işi, aşağıdaki durumlardan birinde etkin olur (özellik değeri true
olur):
- Bir Sayfa Yapısı veya Yazdırma iletişim kutusu görüntüleniyor.
start()
veyastart2()
yöntemi birtrue
döndürme değeri ile çağırılmıştır vesend()
veyaterminate()
yöntemi çağırılmamıştır.
Bu özellik true
ise ve showPageSetupDialog()
, start()
veya start2()
yöntemini çağırırsanız, çalışma zamanı bir istisna atar.
Uygulama
public static function get active():Boolean
İlgili API Öğeleri
copies | özellik |
copies:int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Yazdırma işine sonradan eklenen herhangi bir sayfanın yazdırma sistemi tarafından yazdırılan kopya sayısı. Bu değer, işletim sisteminin Yazdırma iletişim kutusunda kullanıcı tarafından girilen kopya sayısıdır. Kopya sayısı yazdırma iletişim kutusunda görüntülenmediyse veya iletişim kutusu kullanıcıya sunulmadıysa, değer 1 olur (uygulama kodu tarafından değiştirilmediği sürece).
Uygulama
public function get copies():int
public function set copies(value:int):void
firstPage | özellik |
firstPage:int
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
İşletim sisteminin Yazdırma iletişim kutusunda kullanıcı tarafından girilen aralığın birinci sayfasının sayfa numarası. Kullanıcı tüm sayfaların yazdırılmasını isterse, sayfa aralığı Yazdırma iletişim kutusunda görüntülenmediyse, veya Yazdırma iletişim kutusu kullanıcıya sunulmamışsa özellik sıfır olur.
Uygulama
public function get firstPage():int
isColor | özellik |
isColor:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
O sırada seçili olup ve geçerli yazdırma ayarlarına sahip olan yazıcının renkli ayar mı (true
) yoksa gri tonlamalı ayar mı (false
) kullandığını belirtir.
Renkli veya gri tonlamalı bir değer belirlenemiyorsa, değer true
olur.
Uygulama
public function get isColor():Boolean
isSupported | özellik |
jobName | özellik |
jobName:String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Yazdırma işinin adı veya başlığı. İş adı, genelde işletim sistemi tarafından yazdırma sırasındaki işin başlığı olarak veya dosyaya yazdırılan bir işin varsayılan adı olarak kullanılır.
start()
veya start2()
öğelerini çağırmadıysanız ve özellik için bir değer ayarlamadıysanız, bu özelliğin değeri null
olur.
Bir PrintJob örneğiyle çalıştırdığınız her yazdırma işi için, start()
veya start2()
yöntemini çağırmadan önce bu özelliği ayarlayın.
Varsayılan değer şudur null
.
Uygulama
public function get jobName():String
public function set jobName(value:String):void
Atar
IllegalOperationError — active özelliği true değerindeyken kod özelliği ayarlamaya çalışırsa.
|
lastPage | özellik |
lastPage:int
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
İşletim sisteminin Yazdırma iletişim kutusunda kullanıcı tarafından girilen aralığın son sayfasının sayfa numarası. Kullanıcı tüm sayfaların yazdırılmasını isterse, sayfa aralığı Yazdırma iletişim kutusunda görüntülenmediyse, veya Yazdırma iletişim kutusu kullanıcıya sunulmamışsa özellik sıfır olur.
Uygulama
public function get lastPage():int
maxPixelsPerInch | özellik |
maxPixelsPerInch:Number
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Seçili yazıcının fiziksel çözünürlüğü, piksel/inç cinsinden. Değer, işletim sistemi tarafından bildirildiği şekilde geçerli yazdırma ayarlarına göre hesaplanır.
Çözünürlük belirlenemiyorsa, değer standart bir varsayılan değer olur. Varsayılan değer Linux'ta 600 ppi ve Mac OS işletim sisteminde 360 ppi'dir. Windows'ta, yazıcı çözünürlüğü her zaman mevcuttur, bu yüzden bir varsayılan değere ihtiyaç duyulmaz.
Uygulama
public function get maxPixelsPerInch():Number
orientation | özellik |
orientation:String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 9 - read only, AIR 1.0 - read only, AIR 2 - read-write |
Yazdırma için görüntü yönlendirmesi. Kabul edilebilir değerler PrintJobOrientation sınıfında sabitler olarak tanımlanır.
Not: AIR 2 veya sonrasında, Sayfa Yapısı ve Yazdırma iletişim kutularındaki varsayılan yönlendirmeyi ayarlamak için bir yazdırma işini başlatmadan önce bu özelliği ayarlayın. Özelliği bir yazdırma işi ilerleme durumundayken ayarlayın (İş dahilindeki sayfa aralığının yönlendirmesini ayarlamak için start()
veya start2()
öğelerini çağırdıktan sonra.
Uygulama
public function get orientation():String
public function set orientation(value:String):void
İlgili API Öğeleri
pageHeight | özellik |
pageHeight:int
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9. |
Sayfadaki asıl yazdırılabilir alanda ortalanabilen en büyük alanın yüksekliği, nokta cinsinden. Kullanıcı tarafından ayarlanmış kenar boşlukları yok sayılır. Bu özellik yalnızca PrintJob.start()
yöntemine çağrı yapıldıktan sonra kullanılabilir.
Not: AIR 2 veya sonrası için, bu özellik kabul edilmez. Onun yerine yazdırılabilir alanı kesirli nokta cinsinden ölçen ve merkezde olmayan yazdırılabilir alanları tam olarak tanımlayan printableArea
öğesini kullanın.
Uygulama
public function get pageHeight():int
İlgili API Öğeleri
pageWidth | özellik |
pageWidth:int
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 9, AIR 1.0 |
Sayfadaki asıl yazdırılabilir alanda ortalanabilen en büyük alanın genişliği, nokta cinsinden. Kullanıcı tarafından ayarlanmış kenar boşlukları yok sayılır. Bu özellik yalnızca PrintJob.start()
yöntemine çağrı yapıldıktan sonra kullanılabilir.
Not: AIR 2 veya sonrası için, bu özellik kabul edilmez. Onun yerine yazdırılabilir alanı kesirli nokta cinsinden ölçen ve merkezde olmayan yazdırılabilir alanları tam olarak tanımlayan printableArea
öğesini kullanın.
Uygulama
public function get pageWidth():int
İlgili API Öğeleri
paperArea | özellik |
paperHeight | özellik |
paperHeight:int
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9. |
Kağıdın nokta olarak tam yüksekliği. Bu özellik yalnızca PrintJob.start()
yöntemine çağrı yapıldıktan sonra kullanılabilir.
Not: AIR 2 veya sonrası için, bu özellik kabul edilmez. Kağıt boyutlarını kesirli nokta cinsinden ölçen paperArea
öğesini kullanın.
Uygulama
public function get paperHeight():int
İlgili API Öğeleri
paperWidth | özellik |
paperWidth:int
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9. |
Kağıdın nokta olarak tam genişliği. Bu özellik yalnızca PrintJob.start()
yöntemine çağrı yapıldıktan sonra kullanılabilir.
Not: AIR 2 veya sonrası için, bu özellik kabul edilmez. Kağıt boyutlarını kesirli nokta cinsinden ölçen paperArea
öğesini kullanın.
Uygulama
public function get paperWidth():int
İlgili API Öğeleri
printableArea | özellik |
printableArea:Rectangle
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Yazıcı medyasının yazdırılabilir alanının nokta cinsinden sınırları. Bu değer, sonraki addPage()
çağrıları için kullanılan koordinat sisteminin aynısını kullanır.
Uygulama
public function get printableArea():Rectangle
printer | özellik |
printer:String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Geçerli yazdırma işlemi için kullanılacak yazıcıyı alır veya ayarlar. Ayarlayıcıya iletilen ve alıcıya döndürülen dize, printers()
yöntemi tarafından döndürülen Dizideki dizelerden biriyle eşleşmelidir. Varsayılan yazıcının kullanılması gerektiğini belirtmek için, değeri null
olarak ayarlayın. Varsayılan yazıcının belirlenemeyeceği işletim sistemlerinde, bu özelliğin değeri null
olur.
import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.printer = "HP_LaserJet_1"; myPrintJob.start();
Bu özelliğin değerini ayarlamak, yazıcının hemen seçilmesine neden olur. Yazıcı seçimi başarısız olursa, bu özelliğin değeri önceki değerine sıfırlanır. Yazıcı değerinin ayarlanmasının başarılı olup olmadığını, değeri ayarlamaya çalıştıktan sonra okuyarak ve onun ayarlanan değerle eşleştiğini doğrulayarak anlayabilirsiniz.
Etkin bir yazıcı işinin printer
özelliği değiştirilemez. Onu start()
veya start2()
yöntemini başarıyla çağırdıktan sonra ve send()
veya terminate()
öğesini çağırmadan önce değiştirmeye çalışmak başarısız bir sonuç verir.
Uygulama
public function get printer():String
public function set printer(value:String):void
printers | özellik |
printers:Vector.<String>
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Dize adı değerleri olarak mevcut yazıcıların bir listesini sağlar. Listenin ön hesaplaması yapılmaz; liste işlev çağrıldığında oluşturulur. Mevcut bir yazıcı yoksa veya sistem yazdırmayı desteklemiyorsa, değer null
olur. Sistem yazdırmayı destekliyorsa ancak bir yazıcı listesi döndüremiyorsa, değer tek öğeli bir Vektördür (onun length
özelliği 1'dir). Bu durumda, tek olan eleman asıl yazıcı adına sahiptir veya geçerli yazıcı adı belirlenemiyorsa bir varsayılan ada sahiptir.
Uygulama
public static function get printers():Vector.<String>
supportsPageSetupDialog | özellik |
supportsPageSetupDialog:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Flash çalışma zamanı ortamının ayrı bir Sayfa Yapısı iletişim kutusunu destekleyip desteklemediğini gösterir. Bu özelliğin değeri true
ise, işletim sisteminin sayfa yapısı iletişim kutusunu görüntülemek için showPageSetupDialog()
yöntemini çağırabilirsiniz.
Uygulama
public static function get supportsPageSetupDialog():Boolean
İlgili API Öğeleri
PrintJob | () | Yapıcı |
public function PrintJob()
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Bir veya daha fazla sayfa yazdırmak için kullanabileceğiniz bir PrintJob nesnesi oluşturur. Bir PrintJob nesnesi oluşturduktan sonra, yazdırma işini yazıcıya göndermek için (şu sıraya uygun olarak) PrintJob.start()
, PrintJob.addPage()
ve ardından PrintJob.send()
yöntemlerini kullanmanız gerekir.
Örneğin, myPrintJob.addPage()
yöntem çağrılarına yönelik [params]
yer tutucu metnini aşağıdaki kodda gösterildiği şekilde özel parametrelerle değiştirebilirsiniz:
// create PrintJob object var myPrintJob:PrintJob = new PrintJob(); // display Print dialog box, but only initiate the print job // if start returns successfully. if (myPrintJob.start()) { // add specified page to print job // repeat once for each page to be printed try { myPrintJob.addPage([params]); } catch(e:Error) { // handle error } try { myPrintJob.addPage([params]); } catch(e:Error) { // handle error } // send pages from the spooler to the printer, but only if one or more // calls to addPage() was successful. You should always check for successful // calls to start() and addPage() before calling send(). myPrintJob.send(); }
AIR 2 veya sonrasında, birden fazla PrintJob örneği oluşturup kullanabilirsiniz. PrintJob örneğinde ayarlanan özellikler yazdırma bittikten sonra korunur. Bu, PrintJob örneğini yeniden kullanmanıza ve bir kullanıcıya uygulamanızdaki diğer içerikler için farklı yazdırma tercihleri sunarken onun seçili yazdırma tercihlerini korumanıza olanak verir. 2. sürümden önceki Flash Player ve AIR'deki içerik için, birinci PrintJob nesnesi hala etkinken ikincisini oluşturamazsınız. İlk PrintJob nesnesi hala etkinken ikinci bir PrintJob nesnesi oluşturursanız (new PrintJob()
öğesini çağırarak) ikinci PrintJob nesnesi oluşturulamaz. Bu nedenle, ikinci bir PrintJob oluşturmadan önce myPrintJob
değerini kontrol edebilirsiniz.
Atar
IllegalOperationError — AIR 2'den önceki Flash Player ve AIR'de, başka bir PrintJob nesnesi hala etkin ise bir istisna atar.
|
İlgili API Öğeleri
addPage | () | yöntem |
public function addPage(sprite:Sprite, printArea:Rectangle = null, options:PrintJobOptions = null, frameNum:int = 0):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9. |
Belirtilen Sprite nesnesini tek bir sayfa olarak yazıcı kuyruğuna gönderir. Bu yöntemi kullanmadan önce, bir PrintJob nesnesi oluşturun ve ardından start()
veya start2()
öğesini kullanın. Ardından, bir yazdırma işi için addPage()
öğesini bir veya daha fazla kez çağırdıktan sonra, sıralanmış sayfaları yazıcıya göndermek için PrintJob.send()
öğesini kullanın. Başka bir deyişle, bir PrintJob nesnesi oluşturduktan sonra, yazdırma işini yazıcıya göndermek için start()
veya start2()
, addPage()
ve ardından send()
yöntemlerini (aşağıdaki sırada) kullanmanız gerekir. Bir yazdırma işindeki birden fazla sayfayı yazdırmak için start()
öğesine yapılan tek bir çağrıdan sonra addPage()
öğesini birden fazla defa çağırabilirsiniz.
addPage()
, Flash Player'ın bir istisna atmasına yol açarsa (örneğin, start()
öğesini çağırmadıysanız veya kullanıcı yazdırma işini iptal ederse), addPage()
öğesine yapılan sonraki çağrılar başarısız olur. Ancak addPage()
öğesine yapılan önceki çağrılar başarılı olursa, ortaya çıkan send()
komutu başarıyla sıralanan sayfaları yazıcıya gönderir.
Yazdırma işi sırasında addPage()
işleminin tamamlanması 15 saniyeden uzun sürerse, Flash Player bir sonraki addPage()
çağrısında bir istisna atar.
printArea
parametresi için bir değer iletirseniz, printArea Dikdörtgeninin
x ve
y koordinatları sayfa üzerindeki yazdırılabilir alanın sol üst köşesiyle (0,0 koordinatları) eşleşir.
pageHeight
ve pageWidth
salt okunur özellikleri start()
öğesi tarafından ayarlanan yazdırılabilir alanı tanımlar. Çıktı, sayfa üzerindeki yazdırılabilir alanın sol üst köşesiyle hizalandığı için, printArea
öğesinde tanımlanan alan, sayfa üzerindeki yazdırılabilir alandan daha büyük olduğunda, çıktı, printArea
öğesi tarafından tanımlanan sağ veya alt bölüme kadar kırpılır. Flash Professional'da, printArea
için bir değer iletmezseniz ve Sahne Alanı, yazdırılabilir alandan daha büyükse aynı kırpma işlemi gerçekleşir. Flex veya Flash Builder'da, printArea
için bir değer iletmezseniz ve ekran yazdırılabilir alandan daha büyükse aynı kırpma işlemi gerçekleşir.
Bir Sprite nesnesini yazdırmadan önce ölçeklemek isterseniz, bu yöntemi çağırmadan önce ölçek özelliklerini ayarlayın (bkz. flash.display.DisplayObject.scaleX
ve flash.display.DisplayObject.scaleY
) ve yazdırma işleminden önce orijinal değerlerine geri döndürün. Sprite nesnesinin ölçeğinin printArea
öğesiyle bir ilişkisi yoktur. Yani, 50 x 50 piksellik bir yazdırma alanı belirtirseniz 2500 piksellik bir alan yazdırılır. Sprite nesnesini ölçeklerseniz, aynı 2500 piksellik alan yazdırılır, ancak Sprite nesnesi ölçeklenen boyutta yazdırılır.
Flash Player yazdırma özelliği, PostScript ve PostScript olmayan yazıcıları destekler. PostScript olmayan yazıcılar, vektörleri bitmap'lere dönüştürür.
Parametreler
sprite:Sprite — Yazdırılacak içeriği içeren Sprite öğesi.
| |
printArea:Rectangle (default = null ) — Yazdırılacak alanı belirten bir Dikdörtgen nesnesi.
Bir dikdörtgenin genişliği ve yüksekliği piksel değerlerindedir. Bir yazıcı, yazdırma ölçüm birimi olarak noktaları kullanır. Noktalar sabit fiziksel boyutlardadır (1/72 inç), ancak pikselin ekran üzerindeki boyutu geçerli ekranın çözünürlüğüne bağlıdır. Bu nedenle, pikseller ve noktalar arasındaki dönüştürme oranı yazıcı ayarlarına ve hareketli grafiğin ölçeklenip ölçeklenmediğine bağlıdır. 72 piksel genişliğindeki ölçeklenmemiş bir hareketli grafik, ekran çözünürlüğünden bağımsız olarak, bir nokta bir piksele eşit olacak şekilde bir inç genişliğinde yazdırılır. İnç ve santimetre birimlerini twip'lere veya noktalara (bir twip, bir noktanın 1/20'sidir) dönüştürmek için aşağıdaki eşitlikleri kullanabilirsiniz:
| |
options:PrintJobOptions (default = null ) — Vektör veya bitmap yazdırma biçimlerinden hangisinin kullanılacağını belirten isteğe bağlı bir parametre. Varsayılan değer, vektör yazdırma için bir isteği temsil eden null değeridir. Hareketli grafiği bitmap olarak yazdırmak için PrintJobOptions nesnesinin printAsBitmap özelliğini true değerine getirin. printAsBitmap özelliğini true olarak ayarlanıp ayarlanmayacağını belirlerken aşağıdaki önerileri dikkate alın:
| |
frameNum:int (default = 0 ) — Bir MovieClip nesnesinin hangi karesinin yazdırılacağını belirtmenize olanak veren isteğe bağlı bir numara. Bir frameNum öğesi iletmek o karedeki ActionScript'i çağırmaz. Bu parametreyi çıkarırsanız ve sprite parametresi bir MovieClip nesnesi ise, sprite öğesindeki geçerli kare yazdırılır.
|
Atar
Error — start() öğesini çağırmadıysanız veya kullanıcı yazdırma işini iptal ederse bir istisna atar.
|
İlgili API Öğeleri
selectPaperSize | () | yöntem |
public function selectPaperSize(paperSize:String):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Sayfa boyutunu ayarlar. paperSize
parametresi için kabul edilebilir değerler PaperSize sınıfındaki sabitlerdir. Bu yöntemi çağırmak, yazdırma ayarlarını kullanıcı Sayfa Yapısı veya Yazdırma iletişim kutularında bir kağıt boyutu seçiyormuş gibi etkiler.
Bu yöntemi istediğiniz zaman çağırabilirsiniz. Bu yöntemi bir iş başlatmadan önce, Sayfa Yapısı ve Yazdırma iletişim kutularındaki varsayılan sayfa boyutunu ayarlamak için çağırın. Bu yöntemi yazdırma işi sürerken iş dahilindeki sayfa aralığının kağıt boyutunu ayarlamak için çağırın.
import flash.printing.PrintJob; import flash.printing.PaperSize; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.selectPaperSize(PaperSize.ENV_10);
Parametreler
paperSize:String — Yazdırma işindeki sonraki sayfalar için kullanılacak kağıt boyutu
|
Atar
ArgumentError — paperSize parametresi PaperSize sınıfında tanımlanan kabul edilebilir değerlerden biri değilse.
|
İlgili API Öğeleri
send | () | yöntem |
public function send():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9. |
start()
veya start2()
ve addPage()
yöntemlerine yapılan başarılı çağrılardan sonra sıraya konmuş sayfaları yazıcıya gönderir.
Bu yöntem, start()
veya start2()
yöntemine yapılan çağrı başarısız olursa veya addPage()
yöntemine yapılan bir çağrı bir istisna atarsa başarısız olur. Bir hata oluşmasını önlemek için, bu yöntemi çağırmadan önce start()
veya start2()
yönteminin true
değerini döndürdüğünden emin olun ve olası addPage()
istisnalarını yakalayın. Aşağıdaki örnek bu yöntem çağırılmadan önce hataların nasıl düzgün bir biçimde kontrol edileceğini gösterir:
var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.start()) { try { myPrintJob.addPage([params]); } catch(e:Error) { // handle error } myPrintJob.send(); }
İlgili API Öğeleri
showPageSetupDialog | () | yöntem |
public function showPageSetupDialog():Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Geçerli medya bunu desteklerse, işletim sisteminin Sayfa Yapısı'nı görüntüler. Sayfa Yapısının desteklenip desteklenmediğini belirlemek için supportsPageSetupDialog
özelliğini kullanın.
import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.supportsPageSetupDialog) { myPrintJob.showPageSetupDialog(); }
Boolean — kullanıcı Sayfa Yapısı iletişim kutusunda "Tamam"ı seçerse true olur. Bu, bazı PrintJob özelliklerinin değişmiş olabileceğini gösterir. Kullanıcı Sayfa Yapısı iletişim kutusunda "İptal Et"i seçerse false değerini döndürür.
|
Atar
IllegalOperationError — sistem Sayfa Yapısını desteklemiyorsa. Sayfa Yapısının desteklenip desteklenmediğini belirlemek için supportsPageSetupDialog özelliğini kullanın.
| |
IllegalOperationError — herhangi bir yazdırma işi (geçerli olan dahil) etkinse.
|
İlgili API Öğeleri
start | () | yöntem |
public function start():Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9., Flash Player 9. |
İşletim sisteminin Yazdırma iletişim kutusunu görüntüler ve sıraya almayı başlatır. Yazdırma iletişim kutusu, kullanıcının yazdırma ayarlarını değiştirmesini sağlar. PrintJob.start()
yöntemi başarılı dönüş yaptığında (kullanıcı, Yazdırma iletişim kutusunda Tamam'ı tıklatır), kullanıcının seçili yazdırma ayarlarını temsil eden aşağıdaki özellikler doldurulur:
Özellik | Tür | Birimler | Notlar |
---|---|---|---|
PrintJob.paperHeight | Number | Nokta | Kağıdın tam yüksekliği. |
PrintJob.paperWidth | Number | Nokta | Kağıdın tam genişliği. |
PrintJob.pageHeight | Number | Nokta | Sayfa üzerindeki yazdırılabilen gerçek alanın yüksekliği; kullanıcı tarafından belirlenmiş kenar boşlukları yok sayılır. |
PrintJob.pageWidth | Number | Nokta | Sayfa üzerindeki yazdırılabilen gerçek alanın genişliği; kullanıcı tarafından belirlenmiş kenar boşlukları yok sayılır. |
PrintJob.orientation | String | "portrait" (flash.printing.PrintJobOrientation.PORTRAIT ) veya "landscape" (flash.printing.PrintJobOrientation.LANDSCAPE ) |
Not: Kullanıcı, Yazdırma iletişim kutusunu iptal ederse özellikler toplanmaz.
Kullanıcı, Yazdırma iletişim kutusunda Tamam'ı tıklattıktan sonra Flash Player, işletim sisteminde bir yazdırma işi sıralamaya başlar. İşletim sisteminde kullanıcı için yazdırma işlemi hakkındaki bilgiler görüntülendiğinden, sayfaları kuyruğa göndermek için en kısa zamanda PrintJob.addPage()
ve PrintJob.send()
çağrılarını çağırmalısınız. Çıktıyı biçimlendirmek için, bu yöntemle doldurulan salt okunur yükseklik, genişlik ve yönlendirme özelliklerini kullanabilirsiniz.
PrintJob.addPage()
ve PrintJob.send()
öğelerine sonradan herhangi bir çağrı yapılmadan önce bu yöntemin true
değerini döndürüp döndürmediğini test edin (kullanıcı, işletim sisteminin Yazdırma iletişim kutusunda Tamam'ı tıklattığında):
var myPrintJob:PrintJob = new PrintJob(); if(myPrintJob.start()) { // addPage() and send() statements here }
Geçerli yazdırma işi örneğinde, aşağıdaki aralıklardan biri 15 saniyeden uzun sürerse PrintJob.start()
öğesine yapılan sonraki çağrı false
değerini geri döndürür:
PrintJob.start()
ve ilkPrintJob.addPage()
- Bir
PrintJob.addPage()
ve sonrakiPrintJob.addPage()
- Sonuncu
PrintJob.addPage()
vePrintJob.send()
Boolean — Yazdırma iletişim kutusu görüntülendiğinde kullanıcı Tamam'ı tıklatırsa true değeri; kullanıcı İptal'i tıklatırsa veya bir hata oluşursa false değeri.
|
Atar
IllegalOperationError — AIR 2 veya sonrasında, başka bir PrintJob o sırada etkinse
|
İlgili API Öğeleri
start2 | () | yöntem |
public function start2(uiOptions:PrintUIOptions = null, showPrintDialog:Boolean = true):Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
İşletim sisteminin Yazdırma iletişim kutusunu isteğe bağlı olarak gösterir, sıraya almayı başlatır ve PrintJob salt okunur özellik değerlerini değiştirebilir.
uiOptions
parametresi, çağıranın Yazdırma iletişim kutusunda hangi seçeneklerin görüntülendiğini kontrol etmesine olanak verir. PrintUIOptions
sınıfına bakın. Bu parametre showPrintDialog
değeri false ise yok sayılır.
showPrintDialog
true olduğunda bile, bu yöntemin davranışı
start()
yönteminden farklı olabilir. Bazı işletim sistemlerinde, start()
Yazdırma iletişim kutusunu takip eden Sayfa Yapısı iletişim kutusunu gösterir. Bunun aksine, start2()
hiç bir zaman Sayfa Yapısı iletişim kutusunu göstermez.
Aşağıdaki örnekte, Yazdırma iletişim kutusundaki min ve maks sayfa ayarları, iletişim kutusu kullanıcıya gösterilmeden önce ayarlanır.
import flash.printing.PrintJob; import flash.printing.PrintUIOptions; var myPrintJob:PrintJob = new PrintJob(); var uiOpt:PrintUIOptions = new PrintUIOptions(); uiOpt.minPage = 1; uiOpt.maxPage = 3; var accepted:Boolean = myPrintJob.start2(uiOpt);
Parametreler
uiOptions:PrintUIOptions (default = null ) — Kullanıcıya gösterilen yazdırma iletişim kutusunda hangi seçeneklerin görüntülendiğini belirten bir nesne. showPrintDialog parametresi false ise, bu değer yok sayılır.
| |
showPrintDialog:Boolean (default = true ) — Yazdırma işi başlatılmadan önce Yazdırma iletişim kutusunun kullanıcıya gösterilip gösterilmeyeceği
|
Boolean — Kullanıcı Yazdırma iletişim kutusu göründüğünde Tamam düğmesini tıklatırsa veya yazdırma iletişim kutusu görünmüyorsa ve bir hata yoksa bir true değeri, ; kullanıcı İptal düğmesini tıklatırsa veya bir hata oluşursa bir false değeri.
|
Atar
IllegalOperationError — Sayfa Yapısı iletişim kutusu görüntüleniyorsa veya başka bir yazdırma işi o sırada etkinse
|
İlgili API Öğeleri
terminate | () | yöntem |
public function terminate():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Yazdırma işinin göndermeden sonlandırılması gerektiğini söyler. Bu yöntemi, bir yazdırma işi zaten start()
veya start2()
öğesine yapılan bir çağrı tarafından başlatıldığında ancak yazıcıya herhangi bir sayfa göndermek uygun olmadığında kullanın. Genelde, terminate()
yalnızca hataları onarmak için kullanılır.
Bu yöntem çağırıldıktan sonra, PrintJob örneği yeniden kullanılabilir. Mümkünse, işin yazdırma ayarları daha sonra kullanılmak için korunur.
addPage()
yöntemi hareketli grafiği tek bir sayfa olarak ekler. send()
yöntemi sayfayı yazdırıcı sırasına alır.
package { import flash.printing.PrintJob; import flash.display.Sprite; public class BasicPrintExample extends Sprite { var myPrintJob:PrintJob = new PrintJob(); var mySprite:Sprite = new Sprite(); mySprite.graphics.beginFill(0x336699); mySprite.graphics.drawCircle(100, 100, 50); public function BasicPrintExample() { if (myPrintJob.start()) { try { myPrintJob.addPage(mySprite); } catch(e:Error) { // handle error } myPrintJob.send(); } } }
PrintJobExample
sınıfını kullanır. Bu işlem, şu adımlar kullanılarak gerçekleştirilir:
- Sprite türüne ait
sheet1
vesheet2
adlı iki adet değişken bildirin. sheet1
vesheet2
öğelerine yeni bir Sprite örneği atayan ve ardından farklı argümanlar kullanarakcreateSheet()
öğesini çağıraninit()
öğesini çağırın.createSheet()
aşağıdakileri gerçekleştirir:- İletilen Sprite nesnesi, açık gri arka plana ve bir piksel değerindeki siyah kenarlığa sahip bir dikdörtgen çizmek için kullanılır ve bu x = 0, y = 0 olacak şekilde 100 piksel genişliğe ve 200 piksel yüksekliğe sahiptir.
- Sprite ile aynı boyutlara sahip olan, wordWrap özelliği
true
olarak ayarlanmış ve text özelliğicreateSheet()
öğesine bir argüman olarak iletilen String öğesi olarak belirlenmiştxt
adlı yeni bir TextField nesnesi oluşturulur. - İletilen Object argümanı boş değerdeyse, bu argümanın koordinat ve boyut özelliklerinden yararlanarak beyaz bir dikdörtgen çizmek için kullanılan
img
adlı yeni bir Sprite örneği oluşturun. Beyaz dikdörtgen,addChild()
kullanılarak Sprite nesnesinin görüntüleme listesine eklenir. txt
TextField,addChild()
kullanılarak Sprite nesnesinin görüntüleme listesine eklenir.
- Yapıcıda ise, etkinleştirilmiş (devreden çıkarılmamış) yazdırma yöntemi çağrılır. Yöntemler birbirine oldukça benzediği için
printOnePerPage()
aşağıda açıklanmıştır. printOnePerPage()
aşağıdakileri gerçekleştirir:pj
vepagesToPrint
adlı yeni bir PrintJob nesnesini bir birim olarak bildirir.- İşletim sisteminin yerli yazdırma iletişim kutusunu açın ve kullanıcının
Tamam
'ı tıklatması için bekler. - Yönlendirmeyi kontrol eder ve yatay yön seçilmişse bir hata verir ve çıkar.
sheet1
vesheet2
için sayfa yüksekliğini ve genişliğini ayarlar.addPage()
öğesini kullanaraksheet1
vesheet2
sayfalarını yazıcı kuyruğuna gönderir.- Yazdırılacak sayfa sayısı > 0 ise, sıradaki tüm sayfaları yazdırır.
draw()
yöntemi çağrılır ve böylece iki Sprite özelliği sahne alanına sığacak şekilde yeniden boyutlandırılır vesheet2
sayfası,sheet1
sayfasının tam sağında olacak şekilde yeniden konumlandırılır.
Not: yapıcı, tercihe bağlı olarak üç yazdırma yönteminden biri (sayfa başına bir yaprak, sayfa başına iki yaprak veya sayfanın üst yarısı üzerine yazdırma) seçilebilecek şekilde ayarlanmıştır. Kod yorumları kullanılarak yazdırma yöntemlerinin tam olarak ikisi devre dışı bırakılmadığı sürece bu örnek düzgün çalışmayacaktır. Bu örnek, printOnePerPage()
çağrılacak şekilde ayarlanmıştır.
package { import flash.printing.PrintJob; import flash.printing.PrintJobOrientation; import flash.display.Stage; import flash.display.Sprite; import flash.text.TextField; import flash.geom.Rectangle; public class PrintJobExample extends Sprite { private var sheet1:Sprite; private var sheet2:Sprite; public function PrintJobExample() { init(); printOnePerPage(); // printTwoPerPage(); // printTopHalf(); draw(); } private function init():void { sheet1 = new Sprite(); createSheet(sheet1, "Once upon a time...", {x:10, y:50, width:80, height:130}); sheet2 = new Sprite(); createSheet(sheet2, "There was a great story to tell, and it ended quickly.\n\nThe end.", null); } private function createSheet(sheet:Sprite, str:String, imgValue:Object):void { sheet.graphics.beginFill(0xEEEEEE); sheet.graphics.lineStyle(1, 0x000000); sheet.graphics.drawRect(0, 0, 100, 200); sheet.graphics.endFill(); var txt:TextField = new TextField(); txt.height = 200; txt.width = 100; txt.wordWrap = true; txt.text = str; if(imgValue != null) { var img:Sprite = new Sprite(); img.graphics.beginFill(0xFFFFFF); img.graphics.drawRect(imgValue.x, imgValue.y, imgValue.width, imgValue.height); img.graphics.endFill(); sheet.addChild(img); } sheet.addChild(txt); } private function printOnePerPage():void { var pj:PrintJob = new PrintJob(); var pagesToPrint:uint = 0; if(pj.start()) { if(pj.orientation == PrintJobOrientation.LANDSCAPE) { throw new Error("Without embedding fonts you must print one sheet per page with an orientation of portrait."); } sheet1.height = pj.pageHeight; sheet1.width = pj.pageWidth; sheet2.height = pj.pageHeight; sheet2.width = pj.pageWidth; try { pj.addPage(sheet1); pagesToPrint++; } catch(e:Error) { // do nothing } try { pj.addPage(sheet2); pagesToPrint++; } catch(e:Error) { // do nothing } if(pagesToPrint > 0) { pj.send(); } } } private function printTwoPerPage():void { var pj:PrintJob = new PrintJob(); var pagesToPrint:uint = 0; if(pj.start()) { if(pj.orientation == PrintJobOrientation.PORTRAIT) { throw new Error("Without embedding fonts you must print two sheets per page with an orientation of landscape."); } sheet1.height = pj.pageHeight; sheet1.width = pj.pageWidth/2; sheet2.height = pj.pageHeight; sheet2.width = pj.pageWidth/2; var sheets:Sprite = new Sprite(); sheets.addChild(sheet1); sheets.addChild(sheet2); sheets.getChildAt(1).x = sheets.getChildAt(0).width; try { pj.addPage(sheets); pagesToPrint++; } catch(e:Error) { // do nothing } if(pagesToPrint > 0) { pj.send(); } } } private function printTopHalf():void { var pj:PrintJob = new PrintJob(); var pagesToPrint:uint = 0; if(pj.start()) { if(pj.orientation == PrintJobOrientation.PORTRAIT) { throw new Error("Without embedding fonts you must print the top half with an orientation of landscape."); } sheet1.height = pj.pageHeight; sheet1.width = pj.pageWidth/2; sheet2.height = pj.pageHeight; sheet2.width = pj.pageWidth/2; var sheets:Sprite = new Sprite(); sheets.addChild(sheet1); sheets.addChild(sheet2); sheets.getChildAt(1).x = sheets.getChildAt(0).width; try { pj.addPage(sheets, new Rectangle(0, 0, sheets.width, sheets.height/2)); pagesToPrint++; } catch(e:Error) { // do nothing } if(pagesToPrint > 0) { pj.send(); } } } private function draw():void { var sheetWidth:Number = this.stage.stageWidth/2; var sheetHeight:Number = this.stage.stageHeight; addChild(sheet1); sheet1.width = sheetWidth; sheet1.height = sheetHeight; addChild(sheet2); sheet2.width = sheetWidth; sheet2.height = sheetHeight; sheet2.x = sheet1.width; } } }
package { import flash.display.Sprite; import flash.display.Stage; import flash.geom.Rectangle; import flash.printing.PaperSize; import flash.printing.PrintJob; import flash.printing.PrintJobOrientation; import flash.printing.PrintUIOptions; import flash.text.TextField; public class PrintJobExample extends Sprite { private var bg:Sprite; private var txt:TextField; private var pj:PrintJob; private var uiOpt:PrintUIOptions; public function PrintJobExample():void { var pj = new PrintJob(); uiOpt = new PrintUIOptions(); initPrintJob(); initContent(); draw(); printPage(); } private function printPage():void { if (pj.supportsPageSetupDialog) { pj.showPageSetupDialog(); } if (pj.start2(uiOpt, true)) { try { pj.addPage(this, new Rectangle(0, 0, 100, 100)); } catch (error:Error) { // Do nothing. } pj.send(); } else { txt.text = "Print job terminated"; pj.terminate(); } } private function initContent():void { bg = new Sprite(); bg.graphics.beginFill(0x00FF00); bg.graphics.drawRect(0, 0, 100, 200); bg.graphics.endFill(); txt = new TextField(); txt.border = true; txt.text = "Hello World"; } private function initPrintJob():void { pj.setPaperSize(PaperSize.LEGAL); pj.orientation = PrintJobOrientation.LANDSCAPE; pj.copies = 2; pj.jobName = "Flash test print"; } private function draw():void { addChild(bg); addChild(txt); txt.x = 50; txt.y = 50; } } }
Tue Jun 12 2018, 01:09 PM Z