Предварительный просмотр PDF-файлов на авиашоу Flex


Я использую urlloader для загрузки файла tiff с сервера. Затем я получаю его как ByteArray и показываю изображение во всплывающем окне.

var bytes: ByteArray = urlloader.data как ByteArray; Я использую TIFFbaselineDecoder для декодирования байтов и открываю всплывающее окно для отображения растрового изображения. Хорошо работает.

Теперь я хочу сделать то же самое с файлом PDF. Как я могу показать PDF-файл в окне из массива bytearray.

Пожалуйста, дай мне знать.

Спасибо, Виш


person Blue Sky    schedule 27.09.2010    source источник


Ответы (1)


Во-первых, вы можете проверить, подходит ли компьютер пользователя для отображения PDF-файлов.

if(HTMLLoader.pdfCapability == HTMLPDFCapability.STATUS_OK){
    trace("PDF content can be displayed");
} 
else {
    trace("PDF cannot be displayed. Error code:", HTMLLoader.pdfCapability); 
}

Если да, то

var request:URLRequest = new URLRequest("http://www.example.com/test.pdf"); 
pdf = new HTMLLoader(); 
pdf.height = 800; 
pdf.width = 600; 
pdf.load(request); 
container.addChild(pdf);

Имейте в виду, это тоже работает:

<mx:HTML width="100%" height="100%" location="understanding_the_flex_3_lifecycle_v1.0.pdf"/>
person Kumsal Obuz    schedule 27.09.2010
comment
Я собирался пойти по тому же маршруту с ответом. Но он сказал, что хочет отобразить PDF-файл из byteArray; не URL. ЕСЛИ у него есть URL-адрес; это путь наверняка. - person JeffryHouser; 27.09.2010
comment
Привет, Джефф, я думал, что запуск сервера приведет к выходу PDF, такого как TIFF в его предыдущем случае, поэтому местоположения может быть достаточно, чтобы его прослушать. Думаю, он должен попытаться сообщить нам, так ли просто использовать HTML или проделать еще один трюк с ByteArray. - person Kumsal Obuz; 27.09.2010
comment
Привет, Кубариум / Джефф! PDF-файл хранится в базе данных MySQL и передается обратно клиенту с помощью PHP. Все, что у меня есть, это массив байтов после использования urlloader для вызова функции сервера для загрузки. Я предполагаю, что если PDF-файл хранится в каком-то месте на сервере, тогда мы можем использовать URL-адрес, пожалуйста, поправьте меня, если я ошибаюсь. Думаю, мне нужен декодер для PDF в ActionScript. Пожалуйста, дайте мне знать, спасибо - person Blue Sky; 28.09.2010
comment
Я думаю, что если ваш единственный выбор - bytearray, возможно, вы можете временно записать данные bytearray в файл и назвать его * .PDF, а затем получить к нему доступ с помощью HTML, как в примере, который я привел. Это сработает? - person Kumsal Obuz; 03.10.2010