=波波日志 > flash/flex/fcs/AIR > 26.8.打印选择项=
[转]26.8.打印选择项
26.8.1. 问题
我想打印应用程序.
26.8.2. 解决办法
使用mx.printing包中的相关类,格式化和生成打印输出。
26.8.3. 讨论
mx.printing包有多个实现类用户生成打印输出。例如FlexPrintJob类定义一个打印任务,添加选项到任务中,发送任务给打印机。下面的BasicPrintJob.mxml例子创建一个打印任务,添加两页输出内容,发送此任务给打印机:
当start方法被调用时,操作系统会显示一个打印对话框。执行会被暂停直到用户完成打印任务的配置。如果用户决定取消这次打印任务,start方法将返回false。否则此函数会调用addObject方法添加文本框到打印任务中,并调用send方法发送任务到打印机。
每次调用addObject,被添加项及其子对象都会被放置在新的一页里。如上面的打印例子,pageContainer1和pageContainer2被打印在不同的页面里。
addObject方法还接受可选的参数告诉打印机任务如何缩放添加的打印项。如果打印项太大,打印机任务将会渲染到多个页面。默认下打印项会根据页面宽度进行缩放。但是其他选项参数也是可用的,这些定义好的静态常量都在FlexPrintJobScaleType类中。你可以,比如缩放图表以匹配单个页面的高度:
如果这个图表太宽,超出的部分会被打印到新页面上,作为一个例子,ScaleExample.mxml,演示了各种缩放类型的效果。
我想打印应用程序.
26.8.2. 解决办法
使用mx.printing包中的相关类,格式化和生成打印输出。
26.8.3. 讨论
mx.printing包有多个实现类用户生成打印输出。例如FlexPrintJob类定义一个打印任务,添加选项到任务中,发送任务给打印机。下面的BasicPrintJob.mxml例子创建一个打印任务,添加两页输出内容,发送此任务给打印机:
+展开
-XML
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
<mx:Script>
<![CDATA[
import mx.printing.FlexPrintJob;
public function print():void
{
var printJob:FlexPrintJob = new FlexPrintJob();
if (printJob.start())
{
printJob.addObject(pageContainer1);
printJob.addObject(pageContainer2);
printJob.send();
}
}
]]>
</mx:Script>
<mx:VBox width="380" height="260" verticalCenter="-20"
horizontalCenter="0">
<mx:VBox id="pageContainer1">
<mx:Label text="Page 1" />
<mx:TextArea id="page1" width="100%" height="100%" />
</mx:VBox>
<mx:VBox id="pageContainer2">
<mx:Label text="page 2" />
<mx:TextArea id="page2" width="100%" height="100%" />
</mx:VBox>
</mx:VBox>
<mx:Button bottom="5" right="10" label="Print"
click="print();" />
<mx:Script>
<![CDATA[
import mx.printing.FlexPrintJob;
public function print():void
{
var printJob:FlexPrintJob = new FlexPrintJob();
if (printJob.start())
{
printJob.addObject(pageContainer1);
printJob.addObject(pageContainer2);
printJob.send();
}
}
]]>
</mx:Script>
<mx:VBox width="380" height="260" verticalCenter="-20"
horizontalCenter="0">
<mx:VBox id="pageContainer1">
<mx:Label text="Page 1" />
<mx:TextArea id="page1" width="100%" height="100%" />
</mx:VBox>
<mx:VBox id="pageContainer2">
<mx:Label text="page 2" />
<mx:TextArea id="page2" width="100%" height="100%" />
</mx:VBox>
</mx:VBox>
<mx:Button bottom="5" right="10" label="Print"
click="print();" />
当start方法被调用时,操作系统会显示一个打印对话框。执行会被暂停直到用户完成打印任务的配置。如果用户决定取消这次打印任务,start方法将返回false。否则此函数会调用addObject方法添加文本框到打印任务中,并调用send方法发送任务到打印机。
每次调用addObject,被添加项及其子对象都会被放置在新的一页里。如上面的打印例子,pageContainer1和pageContainer2被打印在不同的页面里。
addObject方法还接受可选的参数告诉打印机任务如何缩放添加的打印项。如果打印项太大,打印机任务将会渲染到多个页面。默认下打印项会根据页面宽度进行缩放。但是其他选项参数也是可用的,这些定义好的静态常量都在FlexPrintJobScaleType类中。你可以,比如缩放图表以匹配单个页面的高度:
+展开
-ActionScript
Public function print():void
{
if (printJob.start())
{
printJob.addObject(columnChart,
FlexPrintJobScaleType.MATCH_HEIGHT);
printJob.send();
}
}
{
if (printJob.start())
{
printJob.addObject(columnChart,
FlexPrintJobScaleType.MATCH_HEIGHT);
printJob.send();
}
}
如果这个图表太宽,超出的部分会被打印到新页面上,作为一个例子,ScaleExample.mxml,演示了各种缩放类型的效果。
类别:flash/flex/fcs/AIR 作者:转载 日期:2010-04-30 【评论:0】
暂时没有评论!
发表留言
百度赞助
同类热门博文
- ·As+lightbox+js实现..
- ·21.8.使用Cairngorm..
- ·13.1.为ArrayCollec..
- ·18.13.通过二进制So..
- ·22.7.使用ModuleLoa..
- ·JavaScript控制Flas..
- ·6.6.动态载入外部图..
- ·flash预加载进度条p..
博格Tag
- flash/flex/fcs/AIR(752)
- Asp.Net/C#/WCF(598)
- 操作系统及应用软件(376)
- JavaScript/Ajax(331)
- SQL及数据库(134)
- 黑客技术(115)
- Asp/VBScript(111)
- HTML/WML/CSS兼容/XML(102)
- PHP/apache/Perl(96)
- 网站排名及优化(96)
- 其他(75)
- showbo日志(66)
- lucene.net/分词技术(33)
- 计算机网络(26)
- 机械重工(26)
- C#设计模式(25)
- Google Maps开发(17)
- 日语学习(15)
- Canvas/VML/SVG(13)
- linux(11)
- 游戏开发(8)
- 正则表达式(5)
- Jsp/Java(4)
最新博文
- ·PHP socket套接字学..
- ·Warning Cannot sen..
- ·php与flash as3 soc..
- ·Flash XMLSocket使用..
- ·给flash右键增加自定..
- ·flash控件html及col..
- ·Flash加载XML文件CD..
- ·Flex3中文教程--hom..
随机博文
