在构建 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
属性获取可用打印机列表。该属性是其 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
)。
请参阅
打印示例:页面设置和打印选项
。