课程表

Flex课程

工具箱
速查手册

Flex 打印支持

当前位置:免费教程 » 软件/图像 » Flex

Flex提供了一个特殊的类 FlexPrintJob 来打印flex对象。

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

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

  • 对象可以是显示的界面的全部或部分。

  • 对象可以是格式化用于打印的数据的组件。

  • FlexPrintJob类允许您缩放输出以适应页面。

  • FlexPrintJob类自动使用多个页面来打印不适合单个页面的对象。

  • FlexPrintJob类使操作系统显示“打印"对话框。 如果没有某些用户操作,则无法打印。

准备并发送打印作业

通过准备和发送打印作业来打印输出。 让我们创建一个FlexPrintJob类的实例

  1. var printJob:FlexPrintJob = new FlexPrintJob();

开始打印作业

  1. printJob.start();

Flex将使操作系统显示“打印"对话框。 将一个或多个对象添加到打印作业,并指定如何缩放它们

  1. printJob.addObject(myObject, FlexPrintJobScaleType.MATCH_WIDTH);

每个对象从一个新页面开始。 将打印作业发送到打印机

  1. printJob.send();

打印示例

步骤描述
1 Flex - 创建应用程序章节中所述,在包 com.tutorialspoint.client 下创建名为 HelloWorld 的项目。
2修改 HelloWorld.mxml ,如下所述。 保持文件的其余部分不变。
3编译并运行应用程序,以确保业务逻辑按照要求工作。

以下是修改后的mxml文件 src / com.tutorialspoint / HelloWorld.mxml 的内容。

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
  3. xmlns:s="library://ns.adobe.com/flex/spark"
  4. xmlns:mx="library://ns.adobe.com/flex/mx"
  5. width="100%" height="100%"
  6. minWidth="500" minHeight="500"
  7. initialize="application_initializeHandler(event)">
  8. <fx:Style source="/com/tutorialspoint/client/Style.css"/>
  9. <fx:Script>
  10. <![CDATA[
  11. import mx.controls.Alert;
  12. import mx.events.FlexEvent;
  13. import mx.printing.FlexPrintJob;
  14. import mx.printing.FlexPrintJobScaleType;
  15. protected function btnClickMe_clickHandler(event:MouseEvent):void
  16. {
  17. // Create an instance of the FlexPrintJob class.
  18. var printJob:FlexPrintJob = new FlexPrintJob();
  19. // Start the print job.
  20. if (printJob.start() != true) return;
  21.  
  22. // Add the object to print. Do not scale it.
  23. printJob.addObject(myDataGrid, FlexPrintJobScaleType.NONE);
  24.  
  25. // Send the job to the printer.
  26. printJob.send();
  27. }
  28.  
  29. protected function application_initializeHandler(event:FlexEvent):void
  30. {
  31. lblHeader.text = "My Hello World Application";
  32. }
  33. ]]>
  34. </fx:Script>
  35. <s:BorderContainer width="500" height="500" id="mainContainer"
  36. styleName="container">
  37. <s:VGroup width="100%" height="100%" gap="50"
  38. horizontalAlign="center"
  39. verticalAlign="middle">
  40. <s:Label id="lblHeader" fontSize="40" color="0x777777"
  41. styleName="heading"/>
  42. <mx:DataGrid id="myDataGrid" width="300">
  43. <mx:dataProvider>
  44. <fx:Object Product="Flex" Code="1000"/>
  45. <fx:Object Product="GWT" Code="2000"/>
  46. <fx:Object Product="JAVA" Code="3000"/>
  47. <fx:Object Product="JUnit" Code="4000"/>
  48. </mx:dataProvider>
  49. </mx:DataGrid>
  50. <s:Button label="Print Me!" id="btnClickMe"
  51. click="btnClickMe_clickHandler(event)"
  52. styleName="button" />
  53. </s:VGroup>
  54. </s:BorderContainer>
  55. </s:Application>

准备好所有更改后,让我们以正常模式编译和运行应用程序,就像在 Flex - 创建应用程序中一样 章节。 如果一切顺利,您的应用程序,这将产生以下结果:[在线试用]

flex Print

点击打印我按钮,您可以看到数据网格的打印输出如下所示。

flex Print 2
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号