Flex打印问题

合集下载

FLEX NETWORK 外部输入 输出模块使用手册说明书

FLEX NETWORK 外部输入 输出模块使用手册说明书

30.4使用Flex Network的外部输入/输出30.4.1简介通过将FLEX NETWORK模块连接到GP,您不仅可以使用人机界面来远程控制外部输入/输出,还可以控制输入和输出外的其他事项。

您还可以添加多个FLEXNETWORK模块来增加输入/输出点的数量。

该模块有两条连接线,而向这两条连接线输出的是相同的通讯数据。

只要使用其中任意一条线,则线1和线2都可用。

使用一条线时,可以连接的最大站数是31。

使用两条线时,可以连接的最大站数是63。

一条线支持31站,另一条线支持32站。

有关配置的详细信息,请参阅“FLEX NETWORK用户手册”1.1节系统配置。

•FLEX NETWORK和GP的连接需要专用电缆。

FLEX NETWORK模块:型号和站数下面将介绍FLEX NETWORK模块的型号、点数和站数。

例如,如果您使用的是具有32个离散输入和32个离散输出的总计64点的输入/输出模块,且将S编号定义为1,那么该输入/输出模块将使用S编号1至4。

类型类型点数占用站数I/O FN-X16TS16点输入1站FN-X32TS32点输入2站FN-Y08RL8点输出1站FN-Y16SK16点输出1站FN-Y16SC16点输出1站FN-XY08TS8点输入1站8点输出FN-XY16SK16点输入1站16点输出FN-XY16SC16点输入1站16点输出FN-XY32SK32点输入4站32点输出模拟FN-AD02AH2chA/D1站FN-AD04AH4chA/D4站FN-DA02AH2chD/A1站FN-DA04AH4chD/A4站特殊定位FN-PC10SK-4站高速计数器FN-HC10SK41-8站30.4.2设置步骤下面是如何在FLEX NETWORK 模块中使用数字输入/输出(DIO)的示例。

1选择型号为AGP-XXXXX-FN1M 的人机界面。

FLEX NETWORK 驱动程序将自动安装。

2在[系统设置]窗口中,选择[输入/输出驱动程序]来显示如下画面。

基于Flex的打印优化设计

基于Flex的打印优化设计
FePit b 的对象 . l rJ 类 x no
<mx: c p > Sr t i
<![ D T C A A] ip ̄r .r tgFePit b ]> m o n pii . l r J ] x nn x no p vt fn t nt tr t :od i eu i e Pn r a co s i () vi {
( ) r t 器打 印 2 P n容 i
很多时候 , 据 的形 式 可 能 并不 适 合 打 印要 数 求. 这时可 以创 建一个 不可见 的容器将 数据格式化
后再 按上述步 骤打 印该 容器 的内容.
2 导人 FePiJb类 ) l rt x no
<mx: c p > S r t i
v rmy r to Fe P nJb =n w Fe P it b a P i J b: lx r t n i o e lx r J n o
解 决 了这个 问题 . l Pit b类 管 理打 印 工作 , Fe r J x no 并
起 到打印程序接 口的作用 ¨ . 用 s r() 法 调 使 tt 方 a
ቤተ መጻሕፍቲ ባይዱ
<![ D T C A A[
1创 建 一个 新 的 V o 器 , ) Bx容 将其 I 置为 D设
① 收 稿 日期 :00—1 2 21 O一 1 作 者简 介 : 锋 (9 8一)男 , 西 抚 州人 , 州城 建 职 业学 院 讲 师 、 究方 向多 媒 体 技术 , 士 汤 17 , 江 广 研 学
文 章编 号 :08—10 (0 0 0 10 4 2 2 1 )6—06 86一O 2
基 于 Fe 打 印优 化 设 计① lx的
汤 锋 , 曹春华
f 州城 建职 业 学 院电 子 信息 工 程 系 。 州 5 02 ) 广 广 195

Flex问题解决大全

Flex问题解决大全

1、flex包含一个基于组件的开发模型,你只需要按需求继承现有的组件并扩展相关的方法就可开发你的应用。

2、可视化组件包括以下主要特性:尺寸、事件、样式、效果、皮肤。

3、flex定义了两套组件。

一套为Spark,放在spark.*包下。

一套为MX,放在mx.*包下。

Spark是在flex4中新添加的,mx为旧版本中定义的。

两套组件的主要不同点在于样式及皮肤的使用。

另外对于容器组件,布局的方式也改变了。

4、有些组件在两套UI中都存在,例如按钮,在这种情况下adobe建议你使用Spark 中的组件。

有些组件是某套UI特有的。

例如Spark中的3d效果。

mx组件中的数据可视化组件,例如DataGrid、AdvancedDataGrid。

所以你的应用会包含两套UI 中的组件。

5、可视化组件的继承层次结构:Object-EventDispatcher-DisplayObject-InteractiveObject-DisplayObjectContainer-Sprite-FlexSprite-UIComponent。

flex中所有的可视化对像都继承自UIComponent。

6、UIComponent中需要注意以下属性。

doubleClickEnabled:flex默认是不支持双击的,如果要开启双击,请把该属性设为true;height:在mxml中你可以设置值为数字,这时默认单位为pix。

你也可以设置为70%这种比例。

在as中,如果要设置百分比,你需要用percentHeight这个属性。

x,y:这组属性只在layout为绝对布局时才有效。

7、每一个flex组件都有对应的mxml接口和as接口。

两者之间是相等的。

8、每个一可视化组件都包含以下三个生命周期事件:preInitialize:组件刚被创建,还没有添加子节点,且不可见。

initialize:把子节点初始化好,并尺寸也设置好,但仍然处于不可见状态。

Flex常见问题及解决办法

Flex常见问题及解决办法

Flex常见问题及解决办法杨勇耀,陈兵北京北科博研科技有限公司摘要:本文主要对Flex运用过程中几个常见问题的现象和解决办法进行说明,常见问题包括1: Flex与ExtJs交互,切换tabpanel时导致事件和方法丢失2: Flex嵌入切换到HTML中焦点不能输入中文3: Flex数据异步加载和FLEX本身加载顺序控制4: Flex嵌入到HTML中遮盖DIV的问题5:Flex与java交互中文乱码关键词:Flex,ExtJs,事件丢失,中文输入,遮盖,异步加载,中文乱码1.Flex与ExtJs交互,切换tabpanel时事件和方法丢失我的flex封装文件是嵌入在extjs的tabpanel的一个tab中,当第一次打开该页面的时候,可以调用到ExternalInterface注册的方法,如果我直接从flex触发其任何事件,再切换到其他的tab然后再回到该页面,那么注册的方法就为null了。

也就是说操作完flex的东西,再切换tab后,flex中注册过的方法和监听事件都丢失了。

另外如果在多个页签中有多个tabpanel时,各个页签中的FLEX对象会出现互相卡死现象。

解决方法1(不推荐):重新注册flex中的方法和监听事件解决方法2(推荐):如果你点击flex里的内容怎么切换都没问题,只要操作过flex中的内容,在做tab切换,就会发现注册过的方法和监听事件都丢失了。

在切换tab前,可以把焦点从flex中移走,比如contentTabPanel.on("beforetabchange",function(tabPanel,tab){document.body.focus();})2.Flex嵌入切换到HTML中焦点不能输入中文当焦点置于Flash后再切换到HTML元素中如HTML的INPUT输入框中,不管怎么切换我们的输入法,中文就是出不来。

其实这算是Flash的一个BUG。

通过翻阅了FlexAPI相关函数时,发现flash.system.Capabilities参数组。

Flex 4打印功能

Flex 4打印功能

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中的打印技术时间:2009-06-29 20:40来源:未知作者:admin 点击:次总结了一下打印技术。

Flex打印功能

Flex打印功能
对象添加到打印任务时,有五个尺寸格式以供选择。所 有选项都是mx.printing.FlexPrintjobScaleType类的静态常数。为了使用这些选项,需 要导入该类,然后以FlexPrintjobScaleType.CONSTANT形式使用这些常数。这些选项 如下所示。 (1)MATCH_WIDTH:缩放对象用于填充可用页面宽度。默认设置是,如果得 到的对象高度超出页面高度,则输出会扩展到多个页面。语法格式如下: public static const MATCH_WIDTH:String = "matchWidth" (2)MACTH_HEIGHT:缩放对象用于填充可用页面高度。如果得到的对象宽 度超出页面宽度,则输出会扩展到多个页面。语法格式如下: public static const MATCH_HEIGHT:String = "matchHeight" (3)SHOW_ALL:缩放对象用于适合在单个页面中填充一个尺寸,即选择 MATCH_WIDTH 或 MATCH_HEIGHT 缩放类型中较小的值。语法格式如下: public static const SHOW_ALL:String = "showAll"
(4)FILL_PAGE:将对象缩放到至少一整页,即选择较大的MATCH_ WIDTH或 MATCH_HEIGHT缩放类型。语法格式如下: public static const FILL_PAGE:String = "fillPage" (5)NONE:不要缩放输出。打印页面的尺寸与屏幕上的对象相同。如果对象 高度、宽度或两个尺寸都超出页面宽度或高度,则输出会扩展到多个页面中。语法 格式如下: public static const SHOW_ALL:String = "showAll“ 例如,将14.2.2节中的示例按照屏幕显示的尺寸打印输出。新建 PrintExample4.mxml文件,在PrintExample1.mxml代码中进行如下几项修改。 (1)添加导入FlexPrintjobScaleType类的代码如下所示: import mx.printing.FlexPrintJobScaleType; (2)修改addObject方法,将常数设为NONE如下所示: pj.addObject(printContainer, FlexPrintJobScaleType.NONE);

Flex中常见问题总结

Flex中常见问题总结

Flex中常见问题总结:问题1:方法:1、下载flashplayer11.7ax.exe补丁,更新Flash Player仍没有解决;2、删除flex安装目录下plyer文件夹中的11.1和11.2,错误仍存在;解决方法:html文件中存在语句问题,删掉相关语句后即可。

同时注意不要在html文件中设置player版本,或者是把版本改为0.0.0。

问题2:原因:sdk的版本为4.6.1而不是4.6.0,所以造成找不到相应的product。

解决方式:将使用的sdk换成4.5.0后,将所有的工程重新构建。

问题3:1、在编译器设置中修改sdk的版本。

目前为4.6,编译参数为-local zh-CN2、Lib中引用local文件夹中的zh-CN下面的*.swc文件。

3、解决方式:将使用的sdk换成4.5.0后,将所有的工程重新构建。

问题4:1、解决方式:将使用的sdk换成4.5.0后,将所有的工程重新构建。

问题5:到http://192.168.20.70:8081/WebGis/Handlers/LogInHandler.ashx?_method=login&username=Admin&psw=123456 的连接已停止 - 不允许从http://localhost:3000/CtnGxMapFrm/flex_bin/ctnjkframe.swf 进行连接错误: 拒绝请求位于http://192.168.20.70:8081/WebGis/Handlers/LogInHandler.ashx?_method=l ogin&username=Admin&psw=123456 的资源(请求者从http://localhost:3000/CtnGxMapFrm/flex_bin/ctnjkframe.swf/[[DYNAMIC]] /6 发出请求),原因是缺乏策略文件权限。

(本机代码中没有加载策略文件)1、在WebGis站点下放crossdomain文件之后,Flex启动的话还是安全沙箱的错,html启动不报错了。

第14章 Flex共享对象和打印功能

第14章 Flex共享对象和打印功能
var Myso=SharedObject.getLocal("myObject"); if (er!=undefined) { txtUserName.text=er; }
可以像引用其他对象一样引用共享对象的所有属性,但是不可以在共享对象中保 存方法。例如,如果引用共享对象保存的Array对象的length属性,可以使用以下代码:
在PrintExample项目中新建一个MXML自定义组件,命名为PrintView,在组件中 定义一个Group容器,代码如下: <?xml version="1.0" encoding="utf-8"?> <s:Group xmlns:fx="/mxml/2009" xmlns:s="library:///flex/spark" xmlns:mx="library:///flex/mx" width="400" height= "300"> <s:Label id="contact"/> <s:PrintDataGrid id="myPrintDG" width="100%" height="100%"/> </s:Group> 在PrintExample项目中新建一个PrintExample3.mxml文件,本程序中仍然使用 PrintExample2.mxml中的From表单和doPrint()函数,代码所示。
(3)doPrint()方法的代码如下所示:
<fx:Script> <![CDATA[ import mx.printing.FlexPrintJob; //导入mx.printing. FlexPrintJob类 private function doPrint():void { var pj:FlexPrintJob=new FlexPrintJob();//新建FlexPrintJob对象 if(pj.start() != true) { return; } pj.addObject(printContainer); pj.send(); }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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"><mx:Script><![CDATA[import mx.printing.FlexPrintJob;private function testPrint():void{var myPrintJob:FlexPrintJob = new FlexPrintJob();if (myPrintJob.start() != true){return;}//加入需要打印的组件myPrintJob.addObject(printContent);myPrintJob.send();}]]></mx:Script><mx:VBox id="printContent" backgroundColor="#FFFFFF"><mx:Label text="打印示例"></mx:Label></mx:VBox><mx:Button x="30" y="30" label="打印" click="testPrint()"/>< /mx:Application>见源代码:printDemo.mxml。

创建单独的Print容器:< ?xml version="1.0" encoding="utf-8"?>< mx:Application xmlns:mx=/2006/mxml layout="absolute" creationComplete="bookDataCall.send()"><mx:Script><![CDATA[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:Script><mx:HTTPService id="bookDataCall" url="assets/books.xml" result="bookFunction(event)" /><mx:Form id="myForm"><mx:DataGrid id="bookInfo" dataProvider="{bookData}"><mx:columns><mx:DataGridColumn dataField="name" headerText="书名" /><mx:DataGridColumn dataField="author" headerText="作者" /><mx:DataGridColumn dataField="category" headerText="目录" /></mx:columns></mx:DataGrid><mx:Button id="myButton" label="打印" /></mx:Form><mx:VBox id="printArea" height="300" width="500" backgroundColor="#FFFFFF" visible="false"><mx:PrintDataGrid id="myPrintDataGrid" height="100%" width="100%" fontSize="6" fontFamily="Arial" wordWrap="true"/></mx:VBox>< /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:columns><mx:DataGridColumn dataField="name" headerText="书名" /><mx:DataGridColumn dataField="author" headerText="作者" /><mx:DataGridColumn dataField="category" headerText="目录" /></mx:columns></mx:PrintDataGrid>< /mx:VBox>2. 应用代码:< ?xml version="1.0" encoding="utf-8"?>< mx:Application xmlns:mx=/2006/mxml layout="absolute" creationComplete="bookDataCall.send()"><mx:Script><![CDATA[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 ;}//实例化组件var myPrintComp:PrintComp = new PrintComp();//动态增加组件this.addChild(myPrintComp);//绑定数据源myPrintComp.myPringDataGrid.dataProvider =bookInfo.data;//加入需要打印的组件myPrintJob.addObject(myPrintComp);myPrintJob.send();//移除组件this.removeChild(myPrintComp);}]]></mx:Script><mx:HTTPService id="bookDataCall" url="assets/books.xml" result="bookFunction(event)" /><mx:Form id="myForm"><mx:DataGrid id="bookInfo" dataProvider="{bookData}"><mx:columns><mx:DataGridColumn dataField="name" headerText="书名" /><mx:DataGridColumn dataField="author" headerText="作者" /> <mx:DataGridColumn dataField="category" headerText="目录" /> </mx:columns></mx:DataGrid><mx:Button id="myButton" label="打印" /></mx:Form><mx:VBox id="printArea" height="300" width="500" backgroundColor="#FFFFFF" visible="false"><mx:PrintDataGrid id="myPrintDataGrid" height="100%"width="100%" fontSize="6" fontFamily="Arial"wordWrap="true"/></mx:VBox>< /mx:Application>见源代码:printDemo2.mxml,books.xmlFlash/ActionScript/Flex]代码view sourceprint?001 <?xml version="1.0"?>002 <!-- printing\DGPrintCustomComp.mxml -->003 <mx:Application xmlns:mx="/2006/mxml" 004 height="450"005 width="550">006 <mx:states>007 <mx:State name="printView">008 <mx:RemoveChild target="{myForm}"/>009 <mx:AddChild position="lastChild">010 <mx:Panel width="388"height="303"layout="absolute">011 <mx:Image id="img"x="10"y="10"/>012 </mx:Panel>013 </mx:AddChild>014 <mx:AddChild position="lastChild">015 <mx:Buttonlabel="Back"click="currentState=&quot;&quot;"/> 016 </mx:AddChild>017 </mx:State>018 </mx:states>019020 <mx:Script>021 <![CDATA[022 importmx.printing.flexPrintJob;023 importmyComponent.MyPrintView;024 importmx.graphics.ImageSnapshot;025 importmx.core.UIComponent;026 privatefunctionprint(u:UIComponent):void{027 currentState="printView";028 varbmp:BitmapData = ImageSnapshot.captureBitmapData(u); 029 vari:Bitmap =newBitmap(bmp);030 img.source = i;031 img.scaleContent =true;032 }033034 publicfunctiondoPrint():void{035 // Create a flexPrintJob instance.036 varprintJob:flexPrintJob =newflexPrintJob();037038 // Start the print job.039 if(printJob.start()) {040 // Create a MyPrintView control as a child041 // of the current view.042 varformPrintView:MyPrintView =newMyPrintView(); 043 addChild(formPrintView);044 // Set the print control's data grid data provider to be 045 // the displayed data grid's data provider.046 formPrintView.myDataGrid.dataProvider =047 myDataGrid.dataProvider;048 // Add the SimplePrintview control to the print job. 049 // For comparison, try setting the050 // second parameter to "none".051 printJob.addObject(formPrintView);052053 // Send the job to the printer.054 printJob.send();055056 // Remove the print-specific control to free memory. 057 removeChild(formPrintView);058 }059 }060 ]]>061 </mx:Script>063 <!-- The form to display-->064 <mx:Form id="myForm">065 <mx:FormHeadinglabel="Contact Information"/> 066 <mx:FormItemlabel="Name: ">067 <mx:T extInput id="custName"068 width="200"069 text="Samuel Smith"070 fontWeight="bold"/>071 </mx:FormItem>072 <mx:FormItemlabel="Phone: ">073 <mx:T extInput id="custPhone"074 width="200"075 text="617-555-1212"076 fontWeight="bold"/>077 </mx:FormItem>078 <mx:FormItemlabel="Email: ">079 <mx:T extInput id="custEmail"080 width="200"081 text="sam@"082 fontWeight="bold"/>083 </mx:FormItem>085 <mx:FormHeadinglabel="Product Information"/>086 <mx:DataGrid id="myDataGrid"width="300">087 <mx:dataProvider>088 <mx:ObjectProduct="Flash"Code="1000"/>089 <mx:ObjectProduct="flex"Code="2000"/>090 <mx:ObjectProduct="ColdFusion"Code="3000"/>091 <mx:ObjectProduct="JRun"Code="4000"/>092 </mx:dataProvider>093 </mx:DataGrid>094 <mx:Buttonlabel="PrintView"click="print(myDataGrid)"/> 095 <mx:FormItemlabel="Label">096 </mx:FormItem>097 <mx:Button id="myButton"098 label="Print"099 click="doPrint();"/>100 </mx:Form>101 </mx:Application>102103 Component:104 MyPrintView. mxml(这是一个组件)105 <?xml version="1.0"?>106 <!-- printing\myComponents\MyPrintView.mxml -->107 <mx:VBox xmlns:mx="/2006/mxml" 108 backgroundColor="#FFFFFF"109 height="250"width="450"110 paddingTop="50"paddingLeft="50"paddingRight="50"> 111112 <!-- The controls to print, a PrintDataGrid control. --> 113 <mx:PrintDataGrid id="myDataGrid"width="100%">114 <mx:columns>115 <mx:DataGridColumn dataField="Product"/>116 <mx:DataGridColumn dataField="Code"/>117 </mx:columns>118 </mx:PrintDataGrid>119 </mx:VBox>。

相关文档
最新文档