Я использую 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?