我正在尝试从使用Adobe Flash CS 6创建的Adobe Air Desktop应用程序内部打开pdf文档。
我使用了这段代码:
import flash.filesystem.*;
var thePDF = "mypdf.pdf";
var realFile:File = File.applicationDirectory.resolvePath(thePDF);
var destination:File = File.documentsDirectory;
destination = destination.resolvePath(thePDF);
realFile.copyTo(destination,true);
destination.openWithDefaultApplication();
当我在Flash CS6中测试时这很好用,但是当我在.exe文件中发布应用程序时停止工作(MACOS中的.app文件也是如此)。
我尝试了在谷歌找到的所有资源,没有任何作用!
Actualy我发现了一个名为Shu(com.cjt.Shu)的AS3库中的代码,但网上没有记录任何文档。
如果有人知道这个Shu或其他一些替代方案甚至没有开源。请告诉我。
先谢谢大家,墨西哥的问候。
答案 0 :(得分:0)
您确定PDF内容位于实际发布的AIR的文件夹中吗? 看起来PDF超出了范围。
编辑:这里有一些代码可以解释一下:
file1.addEventListener(MouseEvent.CLICK, pdf1, false, 0, true);
function pdf1(e:MouseEvent):void{
navigateToURL(new URLRequest(File.applicationDirectory.nativePath + "/files/My_PDF_File.pdf" ));
}
仔细检查目标文件的路径。就我而言,它位于我在“files”文件夹中发布的AIR文件夹的本地文件夹中。
希望这可以帮到你。