Flex 打印支持

2018-01-01 17:25 更新

Flex提供了一個特殊的類 FlexPrintJob 來打印flex對象。

  • FlexPrintJob可用于打印一個或多個Flex對象,例如Form或VBox容器。

  • FlexPrintJob打印對象及其包含的所有對象。

  • 對象可以是顯示的界面的全部或部分。

  • 對象可以是格式化用于打印的數(shù)據(jù)的組件。

  • FlexPrintJob類允許您縮放輸出以適應(yīng)頁面。

  • FlexPrintJob類自動使用多個頁面來打印不適合單個頁面的對象。

  • FlexPrintJob類使操作系統(tǒng)顯示“打印"對話框。 如果沒有某些用戶操作,則無法打印。

準(zhǔn)備并發(fā)送打印作業(yè)

通過準(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é)果:[在線試用]

flex Print

點(diǎn)擊打印我按鈕,您可以看到數(shù)據(jù)網(wǎng)格的打印輸出如下所示。

flex Print 2
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號