2013-09-26 3 views
0

I'been попытке открыть документ в формате PDF из внутри приложения Adobe Air Desktop, созданный с Adobe Flash CS 6.Открыть PDF в PDF Reader от AIR Desktop Application

Я использовал этот код:

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).

Я попробовал все ресурсы, которые я нашел в google, ничего не работает !!!

Фактически я нашел код из библиотеки AS3 под названием Shu (com.cjt.Shu), но нет никакой документации, записанной в Интернете.

Если какой-либо орган знает об этом Шу или какой-либо другой альтернативе, даже без открытого источника. Пожалуйста, дайте мне знать.

Спасибо вам все заранее, привет от Мехико.

+0

Я не вижу ничего плохого с вашим кодом - вы получаете сообщение об ошибке? –

+0

Нет сообщений об ошибках, актуально, если вы пытаетесь использовать flash cs, проблема в том, что приложение является импульсным, и вы выполняете exeute, ничего не происходит. –

+2

попробуйте добавить трассировку (destination.exists); после copyTo, чтобы увидеть, действительно ли PDF существует. как PDF-файл будет добавлен в каталог приложения в первую очередь? –

ответ

0

Вы уверены, что ваш PDF-файл находится в папке фактического опубликованного AIR? Похоже, что PDF выходит за рамки.

EDIT: Here's некоторый код, чтобы объяснить немного больше:

file1.addEventListener(MouseEvent.CLICK, pdf1, false, 0, true); 

function pdf1(e:MouseEvent):void{ 
navigateToURL(new URLRequest(File.applicationDirectory.nativePath + "/files/My_PDF_File.pdf")); 
} 

Дважды проверьте маршрут вашего целевого файла. В моем случае это находится в локальной папке моей опубликованной папки AIR в папке «файлы».

Надеюсь, это может вам помочь.

+1

Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий ниже своего сообщения - вы всегда можете прокомментировать свои собственные сообщения, и как только у вас будет достаточно [репутации] (http://stackoverflow.com/help/whats-reputation), вы будете быть в состоянии [прокомментировать любое сообщение] (http://stackoverflow.com/help/privileges/comment). –

+0

Цените свою критику. Добавлен код для дальнейшего объяснения. С уважением! – enguez