技术开发 频道

Silverlight4 VS Flex4 打印功能大比拼

  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”。

protected function button1_clickHandler(event:MouseEvent):void

{

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”的稿件均为本站原创,请在转载时注明出处及作者。非上述媒体稿件均系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。转载者自负版权等法律责任。)

0
相关文章