進階列印技術Adobe AIR 2 以及更新的版本 從 Adobe AIR 2 開始,PrintJob 類別具有其他屬性和方法,而且支援三個額外的類別:PrintUIOptions、PaperSize 和 PrintMethod。這些變更允許其他的印表機工作流程,並提供作者較佳的列印程序控制能力。變更包含:
列印工作流程變更新的列印工作流程包含下列步驟:
頁面設定對話方塊如果目前環境支援,showPageSetupDialog() 方法可顯示作業系統的「頁面設定」對話方塊。呼叫此方法前,請務必檢查 supportsPageSetupDialog 屬性。 下列是簡單的範例: import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); //check for static property supportsPageSetupDialog of PrintJob class if (PrintJob.supportsPageSetupDialog) { myPrintJob.showPageSetupDialog(); } 您可以使用 PrintUIOptions 類別選擇性地呼叫方法,以控制要在「頁面設定」對話方塊中顯示的選項。可以設定最小和最大頁數。下列範例限制只列印前三頁: import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); if (PrintJob.supportsPageSetupDialog) { var uiOpt:PrintUIOptions = new PrintUIOptions(); uiOpt.minPage = 1; uiOpt.maxPage = 3; myPrintJob.showPageSetupDialog(uiOpt); } 變更列印設定PrintJob 實體的設定建構完成後,可隨時變更。這包括在 addPage() 呼叫之間以及列印工作傳送或終止之後變更設定。部分設定 (例如 printer 屬性) 會套用至整個列印工作,而非個別頁面。必須先設定那些設定,才能呼叫 start() 或 start2()。 呼叫 selectPaperSize() 方法可設定「頁面設定」和「列印」對話方塊中的預設紙張大小。也可在列印工作期間呼叫該方法,設定頁面範圍的紙張大小。它使用 PaperSize 類別中定義的常數進行呼叫,在此範例中,選取 10 號信封大小: import flash.printing.PrintJob; import flash.printing.PaperSize; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.selectPaperSize(PaperSize.ENV_10); 使用 printer 屬性取得或設定目前列印工作的印表機名稱。 它會預設為預設印表機的名稱。如果沒有可用的印表機或系統不支援列印,則 printer 屬性是 null。若要變更印表機,則請先使用 printers 屬性來取得可用印表機清單。該屬性是 Vector,而其 String 元素是可用的印表機名稱。將 printer 屬性設為其中一個 String 值,讓該印表機成為作用中印表機。作用中列印工作的 printer 屬性無法變更。在成功呼叫 start() 或 start2() 後,以及在傳送或終止工作前,若嘗試進行變更,會造成失敗。下列是設定此屬性的範例: import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.printer = "HP_LaserJet_1"; myPrintJob.start(); copies 屬性會取得作業系統「列印」對話方塊中設定的複本數量值。firstPage 和 lastPage 屬性則會取得頁面範圍。orientation 屬性則會取得紙張方向設定。這些屬性可以設定以覆寫「列印」對話方塊中的值。下列範例會設定這些屬性: import flash.printing.PrintJob; import flash.printing.PrintJobOrientation; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.copies = 3; myPrintJob.firstPage = 1; myPrintJob.lastPage = 3; myPrintJob.orientation = PrintJobOrientation.LANDSCAPE; 下列與 PrintJob 有關的唯讀設定,可提供目前印表機設定的有用資訊:
請參閱列印範例:頁面設定和列印選項。 |
|