Flex 4打印功能
Flex4的打印功能和Silverlight 4打印功能步骤很相似,但是实现不同,Flex 4的打印功能不是事件驱动,基本步骤如下:
步骤1:建立FlexPrintJob对象, 可以把该对象看作Silverlight的PrintDocument;
步骤2:使用一个布尔变量控制要打印的图片格式,例如是打印矢量图还是打印位图;
步骤3:调用FlexPrintJob中的Start()方法,这时会弹出提示窗口,询问是否开始打印,选择确定,将开始打印;
步骤4:建立一个打印对象,并添加这个打印对象到现实列表中;
步骤5:使用FlexPrintJob中的addObject()添加对象到打印页面中;
步骤6:调用FlexPrintJob中的send()方法,对添加的打印页面进行打印;
步骤7:打印后,删除已经打印的视图对象;
下面提供按钮事件代码,点击按钮后,会打印出“Hello World”。
{
var job : FlexPrintJob = new FlexPrintJob();
job.printAsBitmap = false;
if(job.start()) {
var group : HGroup = new HGroup();
group.height = job.pageHeight;
group.width = job.pageWidth;
var text : SimpleText = new SimpleText();
text.text = "Hello ";
text.setStyle("fontFamily", "Arial");
text.setStyle("fontSize",12);
group.addElement(text);
text = new SimpleText();
text.setStyle("fontFamily", "Arial");
text.setStyle("fontSize",12);
text.text = "World";
group.addElement(text);
addElement(group);
job.addObject(group, FlexPrintJobScaleType.NONE);
job.send();
removeElement(group);
}
对比上面的两组打印代码可以看出Flex实现打印需要多设置一些参数,主要是因为:
1. 在Flex打印中,需要设置打印格式,是位图模式,还是矢量图模式;
2. Flex不支持自动设置打印对象在打印页面中的宽和高;
综上所述,我们可以看出Flex的打印功能要比Silverlight的打印功能更加健全,Flex打印功能中的打印高质量的矢量图和自动分页是两个主要亮点,而当前Silverlight 4中自动分页是将要打印视图对象切割成两部分实现打印。而Silverlight 4中打印功能的全编程模式也是Silverlight的亮点。从微软对Silverlight的定位方向来看,相信在不久的将来,Silverlight的打印功能会更加的强大和完善。
Flex 打印效果:
Flex矢量图打印效果:
Silverlight 打印效果:
(凡署名“IT168”的稿件均为本站原创,请在转载时注明出处及作者。非上述媒体稿件均系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。转载者自负版权等法律责任。)