我需要在 flex 应用程序中将图表和数据表导出为 pdf 文件。
为此,我们可以使用 AlivePDF,但我需要导出到本地而不是服务器。
我们可以导出到本地系统提示用户选择要导出的位置吗?
提前致谢。
我需要在 flex 应用程序中将图表和数据表导出为 pdf 文件。
为此,我们可以使用 AlivePDF,但我需要导出到本地而不是服务器。
我们可以导出到本地系统提示用户选择要导出的位置吗?
提前致谢。
由于 FP10,FileReference
类应该通过save()
函数支持这一点。在 Flash Player 10 或更高版本中执行此操作的代码如下所示:
var bytes:ByteArray = pdf.save(Method.LOCAL);
var file:FileReference = new FileReference();
file.save(bytes, "myPDF.pdf");
使用最新版本的 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");
尝试这个
var pdfFile:PDF = new PDF();
var pdfByteArray:ByteArray = new ByteArray ();
pdfByteArray = pdfFile.save(Method.LOCAL);