我需要在flex应用程序中将图表和数据表导出为pdf文件。
为此,我们可以使用AlivePDF但我需要导出到本地而不是服务器。
我们可以导出到本地系统,提示用户选择要导出的位置吗?
提前致谢。
答案 0 :(得分: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 :(得分:1)
试试这个
var pdfFile:PDF = new PDF();
var pdfByteArray:ByteArray = new ByteArray ();
pdfByteArray = pdfFile.save(Method.LOCAL);
答案 2 :(得分: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");