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
有關的唯讀設定,可提供目前印表機設定的有用資訊:
-
paperArea
:印表機紙張的矩形範圍 (以點為單位)。
-
printableArea
:可列印區域的矩形範圍 (以點為單位)。
-
maxPixelsPerInch
:目前印表機的實體解析度 (以每英寸像素為單位)。
-
isColor
:目前印表機列印顏色的能力 (如果目前印表機可列印彩色,則會傳回
true
)。
請參閱
列印範例:頁面設定和列印選項
。