這個估計很多人沒有關心過。但是很有用。我貼上來吧。
Flash中負責打印的類是 PrintJob
首先了解它一下
屬性:
orientation:String [只讀] 圖像的打印方向。圖像的打印方向。此屬性可以為 "landscape" 或 "portrait"。請注意,只有在調(diào)用 PrintJob.start() 方法后,此屬性才可用。
pageHeight:Number [只讀] 頁面上實際可打印區(qū)域的高度(以磅為單位)。
pageWidth:Number [只讀] 頁面上實際可打印區(qū)域的寬度(以磅為單位)。
paperHeight:Number [只讀] 紙張總高度(以磅為單位)。
paperWidth:Number [只讀] 紙張總寬度(以磅為單位)。
用法:
addPage(target:Object, [printArea:Object], [options:Object], [frameNum:Number]) : Boolean
target:Object - 一個數(shù)字或字符串;要打印的影片剪輯的級別或?qū)嵗Q。傳遞一個數(shù)字來指定級別(例如,0 表示 _root 影片)或傳遞一個字符串(括在引號中 [""])來指定影片剪輯的實例名稱。
printArea:Object [可選]
一個對象,它指定要打印的區(qū)域,采用以下格式:
程序代碼:
{xMin:topLeft, xMax:topRight, yMin:bottomLeft, yMax:bottomRight}
為 printArea 指定的坐標表示屏幕像素,這些屏幕像素相對于 _root 影片剪輯(如果 target = 0)的注冊點或由 target 指定的級別或影片剪輯的注冊點。您必須提供所有四個坐標。寬度 (xMax-xMin) 和高度 (yMax-yMin) 必須均大于 0。
磅是打印度量單位,像素是屏幕度量單位;磅的實際大小是固定的(1/72 英寸),但是像素的大小取決于特定屏幕的分辨率。您可以使用以下?lián)Q算公式將英寸或厘米轉(zhuǎn)換為緹或磅(1 緹為 1/20 磅):
1 磅 = 1/72 英寸 = 20 緹
1 英寸 = 72 磅 = 1440 緹
1 厘米 = 567 緹
您無法可靠地在像素和磅之間轉(zhuǎn)換;轉(zhuǎn)換比率取決于屏幕及其分辨率。例如,如果屏幕設置為每英寸顯示 72 個像素,則一磅等于一個像素。
注意:如果以前曾使用 print()、printAsBitmap()、printAsBitmapNum() 或 printNum() 從 Flash 進行打印,則可能使用過 #b 幀標簽來指定要打印的區(qū)域。當使用 addPage() 方法時,您必須使用 printArea 參數(shù)來指定打印區(qū)域;#b 幀標簽將被忽略。
如果省略了 printArea 參數(shù)或錯誤地傳遞了該參數(shù),則將打印 target 的整個舞臺區(qū)域。如果您不希望指定 printArea 的值,但希望指定 options 或 frameNumber 的值,請為 printArea 傳遞 null。
options:Object [可選]
一個參數(shù),它指定打印為矢量還是打印為位圖,采用以下格式:
{printAsBitmap:Boolean}
默認值為 false,表示請求矢量打印。若要將 target 打印為位圖,請為 printAsBitmap 傳遞 true。當確定要使用的值時,請記住以下建議:
如果要打印的內(nèi)容包括位圖圖像,請使用 {printAsBitmap:true} 以包括任何透明度和色彩效果。
如果內(nèi)容不包括位圖圖像,請省略此參數(shù)或者使用 {printAsBitmap:false} 以較高品質(zhì)的矢量格式打印內(nèi)容。
如果省略或錯誤傳遞了 options,則使用矢量打印。如果您不希望指定 options 的值,但希望指定 frameNumber 的值,請為 options 傳遞 null
frameNum:Number [可選]
一個數(shù)字,用于指定要打印的幀;傳遞 frameNumber 不會導致調(diào)用該幀上的 ActionScript。如果省略此參數(shù),則打印 target 中的當前幀。
注意:如果以前曾使用 print()、printAsBitmap()、printAsBitmapNum() 或 printNum() 從 Flash 進行打印,則可能在多個幀上使用過 #p 幀標簽以指定要打印哪些頁。若要使用 PrintJob.addPage() 打印多個幀,必須對每個幀發(fā)出 PrintJob.addPage() 命令;#p 幀標簽將被忽略。有關以編程方式執(zhí)行此操作的方法,請參見"示例"部分。
返回
Boolean - 一個布爾值:如果頁成功發(fā)送到打印后臺處理程序,則返回 true;否則返回 false。
send() : Void
用在 PrintJob.start() 和 PrintJob.addPage() 方法之后,將經(jīng)過后臺處理的頁發(fā)送到打印機。
start() : Boolean
顯示操作系統(tǒng)的打印對話框并開始進行后臺處理
PrintJob 構(gòu)造函數(shù)
var my_pj:PrintJob = new PrintJob();
范例1:
CODE:
//pt2_mc 為影片剪輯名稱
var my_pj:PrintJob = new PrintJob();
var myResult:Boolean = my_pj.start();
if (myResult) {
my_pj.addPage(pt2_mc);
my_pj.send();
} else {
trace("沒有進行打印或打印失敗");
}
delete my_pj;
范例2:
CODE:
//pt2_mc 為影片剪輯名稱
//打印結(jié)果為三頁
var my_pj:PrintJob = new PrintJob(); //構(gòu)造函數(shù)
if (my_pj.start()) {
var pagesToPrint:Number = 0;
if (my_pj.addPage(pt2_mc)) {
pagesToPrint++;
}
if (my_pj.addPage(pt_mc)) {
pagesToPrint++;
}
if (my_pj.addPage(pt_mc)) {
pagesToPrint++;
}
if (pagesToPrint>0) {
my_pj.send();
}
}
delete my_pj;
如對本文有疑問,請?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會為你解答??! 點擊進入論壇