我正在使用 Flex 4.1 和 AlivePdf 来生成 pdf。我的要求如下:
我有一组 xml 数据。我需要迭代该数组,开发一个图表,对该图表进行屏幕截图(使用 ImageSnapshot.captureImage)并将其作为 pdf 格式保存在桌面文件夹中。在这里,我使用以下代码片段,
for(count=0; count<limit; count++) {
var xml:XML = new XML(xmlDataArr[count]);
displayChart(xml); // this creates entire chart
storeReportPDF(count);
}
private function storeGrowthReportPDF(index:int):void {
var image:ImageSnapshot = ImageSnapshot.captureImage(growthReportChart, 300, new JPEGEncoder);
var fs:FileStream = new FileStream();
var file: File = File.documentsDirectory.resolvePath("./GrowthReportBatch/growthReport_"+index+".pdf");
fs.open(file, FileMode.WRITE);
var pdfBytes:ByteArray = createGrowthReportPdf (image.data);
fs.writeBytes(pdfBytes);
fs.close();
}
例如,如果有 50 个 xml,则需要将 50 个 pdf 存储在该特定位置。问题是它花费的时间太长。是否可以最小化 pdf 创建时间?