=波波日志 > flash/flex/fcs/AIR > 26.9.格式化打印内容=
[转]26.9.格式化打印内容
26.9.1. 问题
我想按指定的格式打印内容
26.9.2. 解决办法
构建自定义打印渲染组件来格式化打印内容
26.9.3. 讨论
通常,你想要打印输出的内容并不同于在应用程序中显示出的那样。你可能希望创建一个不通过程序展现给用户的可打印应用程序对象版本或生成数据报告。打印渲染器就是为此目的而设计的,它是一个输出指定打印内容的组件。
在26.8节的BasicPrintJob.mxml例子中,你可能不想打印page标签或文本框控件的边框,也就是你可能只想打印文本框中的输入内容,就像文字处理器生成的那样,填充页面而不缩放文字。要打印出文本块,使用下面的BasicTextRenderer.mxml组件:
当你使用打印渲染器来格式化输出时,首先要添加渲染器到显示列表以便Flex对组件进行可视化方面的布局:
我们注意到这个例子使用了打印任务对象的pageWidth属性。pageWidth和pageHeight 属性是在start方法返回时被设置的。当编写打印渲染器组件,当组件大小变化时需要注意这些属性值。通过这些属性,你可以确定即便更换打印机或纸张大小的情况下你的渲染器仍能正常工作在纵向和横向模式。
我想按指定的格式打印内容
26.9.2. 解决办法
构建自定义打印渲染组件来格式化打印内容
26.9.3. 讨论
通常,你想要打印输出的内容并不同于在应用程序中显示出的那样。你可能希望创建一个不通过程序展现给用户的可打印应用程序对象版本或生成数据报告。打印渲染器就是为此目的而设计的,它是一个输出指定打印内容的组件。
在26.8节的BasicPrintJob.mxml例子中,你可能不想打印page标签或文本框控件的边框,也就是你可能只想打印文本框中的输入内容,就像文字处理器生成的那样,填充页面而不缩放文字。要打印出文本块,使用下面的BasicTextRenderer.mxml组件:
+展开
-XML
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
backgroundColor="0xffffff">
<mx:String id="textToPrint" />
<mx:Text width="100%" text="{textToPrint}" />
</mx:Canvas>
backgroundColor="0xffffff">
<mx:String id="textToPrint" />
<mx:Text width="100%" text="{textToPrint}" />
</mx:Canvas>
当你使用打印渲染器来格式化输出时,首先要添加渲染器到显示列表以便Flex对组件进行可视化方面的布局:
+展开
-ActionScript
public function print():void
{
var printJob:FlexPrintJob = new FlexPrintJob();
if (printJob.start())
{
var printRenderer:BasicTextRenderer =
new BasicTextRenderer();
printRenderer.width = printJob.pageWidth;
printRenderer.textToPrint = page1.text;
printRenderer.visible = false;
Application.application.addChild(printRenderer);
printJob.addObject(printRenderer);
printJob.send();
Application.application.removeChild(printRenderer);
}
}
{
var printJob:FlexPrintJob = new FlexPrintJob();
if (printJob.start())
{
var printRenderer:BasicTextRenderer =
new BasicTextRenderer();
printRenderer.width = printJob.pageWidth;
printRenderer.textToPrint = page1.text;
printRenderer.visible = false;
Application.application.addChild(printRenderer);
printJob.addObject(printRenderer);
printJob.send();
Application.application.removeChild(printRenderer);
}
}
我们注意到这个例子使用了打印任务对象的pageWidth属性。pageWidth和pageHeight 属性是在start方法返回时被设置的。当编写打印渲染器组件,当组件大小变化时需要注意这些属性值。通过这些属性,你可以确定即便更换打印机或纸张大小的情况下你的渲染器仍能正常工作在纵向和横向模式。
类别: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(330)
- 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..
随机博文
