用Flex進行列印可能是我遲早要做的事情,因為我在ANNCSR報表中遲早要實現Flash列印。Web應用的列印一直給我帶來了困難的挑戰,用瀏覽器來實現應用程式的列印,常常費力不討好。
Flex列印利用2個新類來解決:FlexPrintJob和PrintDataGrid。
FlexPrintJob類會管理列印工作,並起到列印程式介面的作用:使用start()函數調用Print對話方塊,通過addObject()函數,添加列印項。
看代碼:
<?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" minWidth="955" minHeight="600"><fx:Declarations><!-- Place non-visual elements (e.g., services, value objects) here --></fx:Declarations><mx:VBox id="printContent" backgroundColor="#FFFFFF"><mx:Label text="This is your first print text"/></mx:VBox><mx:Button x="30" y="30" label="Print This" click="testPrint()"/><fx:Script><![CDATA[import mx.printing.FlexPrintJob;private function testPrint():void{var print:FlexPrintJob = new FlexPrintJob();if(print.start()){print.addObject(printContent);print.send();}}]]></fx:Script></s:Application>
點擊Print This就會彈出列印表單,可繼續列印。