Flex提供了一個特殊的類 FlexPrintJob 來打印flex對象。
FlexPrintJob可用于打印一個或多個Flex對象,例如Form或VBox容器。
FlexPrintJob打印對象及其包含的所有對象。
對象可以是顯示的界面的全部或部分。
對象可以是格式化用于打印的數(shù)據(jù)的組件。
FlexPrintJob類允許您縮放輸出以適應(yīng)頁面。
FlexPrintJob類自動使用多個頁面來打印不適合單個頁面的對象。
FlexPrintJob類使操作系統(tǒng)顯示“打印"對話框。 如果沒有某些用戶操作,則無法打印。
通過準(zhǔn)備和發(fā)送打印作業(yè)來打印輸出。 讓我們創(chuàng)建一個FlexPrintJob類的實(shí)例
var printJob:FlexPrintJob = new FlexPrintJob();
開始打印作業(yè)
printJob.start();
Flex將使操作系統(tǒng)顯示“打印"對話框。 將一個或多個對象添加到打印作業(yè),并指定如何縮放它們
printJob.addObject(myObject, FlexPrintJobScaleType.MATCH_WIDTH);
每個對象從一個新頁面開始。 將打印作業(yè)發(fā)送到打印機(jī)
printJob.send();
步驟 | 描述 |
---|---|
1 | 在 Flex - 創(chuàng)建應(yīng)用程序章節(jié)中所述,在包 com.tutorialspoint.client 下創(chuàng)建名為 HelloWorld 的項(xiàng)目。 |
2 | 修改 HelloWorld.mxml ,如下所述。 保持文件的其余部分不變。 |
3 | 編譯并運(yùn)行應(yīng)用程序,以確保業(yè)務(wù)邏輯按照要求工作。 |
以下是修改后的mxml文件 src / com.tutorialspoint / HelloWorld.mxml 的內(nèi)容。
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%" minWidth="500" minHeight="500" initialize="application_initializeHandler(event)"> <fx:Style source="/com/tutorialspoint/client/Style.css"/> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.events.FlexEvent; import mx.printing.FlexPrintJob; import mx.printing.FlexPrintJobScaleType; protected function btnClickMe_clickHandler(event:MouseEvent):void { // Create an instance of the FlexPrintJob class. var printJob:FlexPrintJob = new FlexPrintJob(); // Start the print job. if (printJob.start() != true) return; // Add the object to print. Do not scale it. printJob.addObject(myDataGrid, FlexPrintJobScaleType.NONE); // Send the job to the printer. printJob.send(); } protected function application_initializeHandler(event:FlexEvent):void { lblHeader.text = "My Hello World Application"; } ]]> </fx:Script> <s:BorderContainer width="500" height="500" id="mainContainer" styleName="container"> <s:VGroup width="100%" height="100%" gap="50" horizontalAlign="center" verticalAlign="middle"> <s:Label id="lblHeader" fontSize="40" color="0x777777" styleName="heading"/> <mx:DataGrid id="myDataGrid" width="300"> <mx:dataProvider> <fx:Object Product="Flex" Code="1000"/> <fx:Object Product="GWT" Code="2000"/> <fx:Object Product="JAVA" Code="3000"/> <fx:Object Product="JUnit" Code="4000"/> </mx:dataProvider> </mx:DataGrid> <s:Button label="Print Me!" id="btnClickMe" click="btnClickMe_clickHandler(event)" styleName="button" /> </s:VGroup> </s:BorderContainer> </s:Application>
準(zhǔn)備好所有更改后,讓我們以正常模式編譯和運(yùn)行應(yīng)用程序,就像在 Flex - 創(chuàng)建應(yīng)用程序中一樣 章節(jié)。 如果一切順利,您的應(yīng)用程序,這將產(chǎn)生以下結(jié)果:[在線試用]
點(diǎn)擊打印我按鈕,您可以看到數(shù)據(jù)網(wǎng)格的打印輸出如下所示。
更多建議: