flex AIR 加载pdf文件
前几天一直被为什么我的pdf文件无法在air程序中显示出来烦着.
在几个不同的论坛发了帖子,可是回答的人寥寥无几, 我都怀疑是不是我的问题太简单了,大家都没有去回答的欲望, 毕竟我才接触flex.
今天早上终于想出了答案:
原来必须在正确安装了air程序之后才能加载pdf文件.
我的程序没有错,错在我是在Flex builder下运行的.
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()" currentState="page1">
<mx:states>
<mx:State name="page1">
<mx:AddChild position="lastChild">
<mx:HTML x="123" y="74" id="container" width="600" height="400"/>
</mx:AddChild>
</mx:State>
</mx:states>
<mx:Script>
<!--[CDATA[
import flash.html.HTMLPDFCapability; //use HTMLPDFCapability
import flash.html.HTMLLoader; //use HTMLLoader
import mx.controls.Alert; //use Alert
public function initApp():void
{
//check Adobe Reader 8.1 or above capability
if(HTMLLoader.pdfCapability==HTMLPDFCapability.STATUS_OK)
{
var pdf:HTMLLoader = new HTMLLoader(); //HTML Control
var request:URLRequest = new URLRequest("c:/pdf/generated.pdf");//URLRequest example
pdf.height = 400; //set pdf height
pdf.width = 600; //set pdf width
pdf.load(request); //load pdf
container.addChild(pdf); //put pdf in HTML container
}
else
Alert.show("pdf cant display, not Adobe Reader 8.1 and above version");
}
]]
相关文档:
as:
var app:Object;
function setApp(ap:Object):void{
this.app=ap;
}
btn.addEventListener(MouseEvent.CLICK,onClick);
function onClick(event:MouseEvent):void{
app.fun(btn.label);
}
flex:
private function onSwfLoaded(event:Event):void
{
myloader.addEventListen ......
<mx:DataGrid id="dg" click="select()" dataProvider= "{modelLocator.resultList}" borderStyle="none"
verticalGridLines="false" horizontalGridLines="false" verticalScrollPolicy="off" rowCount="10"
fontSize="16" fontStyle="normal" fontThickness="0" width="100%" height="100%">
<mx:columns& ......
Flex中如何通过strokeWidth, strokeColor和shadowColor样式,创建一个自定义风格的HRule或VRule
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
&nbs ......
flex 装载多个module出现: 强制转换类型失败,出现某些类不能转换
例如:
无法将 mx.managers::PopUpManagerImpl@7155ac1 转换为 mx.managers.IPopUpManager。
解决方法是在Application加入引用
1.
import
mx.managers.DragManager;
private
var dragManager : DragManager;
2. ......
了解Flex程序的生命周期
Flex程序从本质上讲,就是使用了(由AS编写的)Flex框架的Flash程序。
但在Flex程序中可以忽略timeline这个概念,所有的内容都集于一帧。
事实上Flex程序中的根,是继承flash.display.MovieClip的mx.managers.SystemManager。
SystemManager有两帧。第一帧是预加载程序,第二帧是主程序。
因此 ......