Flex打印问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Flex打印问题
使用两个类解决打印问题:FlexPrintJob和PringDataGrid。
? FlexPrintJob。这个类需要在实例化之后用作要打印对象的容器。
? PringDataGrid。是DataGrid的一个子类,用来打印必须以网格或表格形式显示的数据,支持多页面打印。
简单的打印实例:
< ?xml version="1.0" encoding="utf-8"?>
< mx:Application xmlns:mx=/2006/mxml layout="absolute">
import mx.printing.FlexPrintJob;
private function testPrint():void{
var myPrintJob:FlexPrintJob = new FlexPrintJob();
if (myPrintJob.start() != true){
return;
}
//加入需要打印的组件
myPrintJob.addObject(printContent);
myPrintJob.send();
}
]]>
< /mx:Application>
见源代码:printDemo.mxml。
创建单独的Print容器:
< ?xml version="1.0" encoding="utf-8"?>
< mx:Application xmlns:mx=/2006/mxml layout="absolute" creationComplete="bookDataCall.send()">
import mx.printing.FlexPrintJob;
import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection;
[Bindable]
public var bookData:ArrayCollection;
//得到books.xml数据
private function bookFunction(event:ResultEvent):void{
bookData = event.result.books.stock;
}
//打印方法
private function printJob():void{
var myPrintJob:FlexPrintJob = new FlexPrintJob();
if (myPrintJob.start() != true){
return ;
}
//绑定数据源
myPrintDataGrid.dataProvider = bookInfo.dataProvider;
//加入需要打印的组件
myPrintJob.addObject(printArea);
myPrintJob.send();
}
]]>
< /mx:Application>
见源代码:printDemo1.mxml,books.xml
使用组件打印:
1. 组件代码:
< ?xml version="1.0" encoding="utf-8"?>
< mx:VBox xmlns:mx="/2006/mxml" width="500" height="300" visible="false" backgroundColor="#FFFFFF">
< mx:PrintDataGrid id="myPringDataGrid" height="100%" width="100%" fontSize="6" fontFamily="Arial" wordWrap="true">
< /mx:VBox>
2. 应用代码:
< ?xml version="1.0" encoding="utf-8"?>
< mx:Application xmlns:mx=/2006/mxml layout="absolute" creationComplete="bookDataCall.send()">
import mx.printing.FlexPrintJob;
import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection;
import components.PrintComp;
[Bindable]
public var bookData:ArrayCollection;
//得到books.xml数据
private function bookFunction(event:ResultEvent):void{
bookData = event.result.books.stock;
}
//打印方法
private function printJob():void{
var myPrintJob:FlexPrintJob = new FlexPrintJob();
if (myPrintJob.start() != true){
return ;
}
//实例化组件