2010-06-25 1 views
2

Мне нужно экспортировать диаграммы и таблицы данных в pdf-файл в приложении flex.Экспорт в PDF для локального использования AlivePDF с flex

Для этого мы можем использовать AlivePDF, но мне нужно экспортировать его на локальный сервер.

Можем ли мы экспортировать в локальную систему, предлагая пользователю выбрать местоположение для экспорта?

Заранее спасибо.

ответ

4

С FP10 класс FileReference должен поддерживать это через функцию save(). Код, чтобы сделать это в Flash Player 10 или выше показано ниже:

var bytes:ByteArray = pdf.save(Method.LOCAL); 
var file:FileReference = new FileReference(); 
file.save(bytes, "myPDF.pdf"); 
1

Попробуйте

var pdfFile:PDF = new PDF(); 
var pdfByteArray:ByteArray = new ByteArray(); 
pdfByteArray = pdfFile.save(Method.LOCAL); 
+0

Это только генерирует байты для PDF. На самом деле он не запрашивает пользователя, где его сохранить на диск, как было задано. –

1

С последней версией AlivePDF (0.1.5 RC), вы можете сделать это:

var element:IBitmapDrawable; // Chart to export 
var pdf:PDF = new UnicodePDF(); 
pdf.addPage(); 

var bitmapData:BitmapData = new BitmapData(element.width, element.height, false, 0xffffff); 
try{ 
    bitmapData.draw(element as IBitmapDrawable); 
}catch(e:*) 
{ 
    throw new Error("bitmap draw failed"); 
} 

var jpegencoder:JPEGEncoder = new JPEGEncoder(100); 
var byteArray:ByteArray  = jpegencoder.encode(bitmapData); 

pdf.addImageStream(byteArray); 
var file : FileReference = new FileReference() 
file.save(pdf.save(Method.LOCAL),"my.pdf");