Dear all need help
how to printing multiple images (1000 images)
I try using images loader to printing but cannot shown in printing result.
when Using Reperter to call multiple images Good work but to heavy and make
long time loading.
I try Using mx:list and itemRenderer to Get images data source and how to
accessing itemRenderer component Object from application
This my printing function source :
public function PrintAllbyGroups(): void {
CursorManager.setBusyCursor();
var i:int;
var DataRows:ArrayCollection = globalArrayData;
var myPrintJob:FlexPrintJob = new FlexPrintJob();
myPrintJob.printAsBitmap = false;
var pageLimit: int = 3; // limit data tiap halaman
var counterData: int = 0; // counter data tiap halaman
var counterPage: int = 0; // counter halaman tiap dokumen
var lastGroupName: String = DataRows.getItemAt(0).Kelas;
var printState:Boolean = false;
if(myPrintJob.start())
{
for( i = 0; i < DataRows.length; i++)
{
// bila terjadi perubahan groupName
if(lastGroupName !== DataRows.getItemAt(i).Kelas)
{
// tambahkan ke halaman pencetakan
myPrintJob.addObject(mySheet,FlexPrintJobScaleType.NONE);
// tambahkan counter halaman
counterPage++;
// kembalikan counterData ke normal
counterData = 0;
// ubah nama grup terakhir
lastGroupName = DataRows.getItemAt(i).Kelas;
}
// iterasi
counterData++;
// normalkan system
if(counterData === 1)
{
printRow1.visible = false;
printRow2.visible = false;
printRow3.visible = false;
}
printGroupName.text = "Grup " + lastGroupName;
if(counterData === 1)
{
printRow1.visible = true;
printName1.text = DataRows.getItemAt(i).Name;
printClass1.text = DataRows.getItemAt(i).Class;
printAuthorityCode1.text =
DataRows.getItemAt(i).AuthorityCode;
if(StringUtil.trim(DataRows.getItemAt(i).AreaCode)=="0"){
printKliringArea1.text = "Kantor Pusat";
}else{
printKliringArea1.text = "Wilayah " +
DataRows.getItemAt(i).AreaCode + ", " + DataRows.getItemAt(i).KliringArea;
}
printSpecimen1.width = imageWidth;
printSpecimen1.height = imageHeight;
printSpecimen1.source = //// this place how to get
object in mx:list itemRendere component
}
if(counterData === 2)
{
printRow2.visible = true;
printName2.text = DataRows.getItemAt(i).Name;
printClass2.text = DataRows.getItemAt(i).Class;
printAuthorityCode2.text =
DataRows.getItemAt(i).AuthorityCode;
if(StringUtil.trim(DataRows.getItemAt(i).AreaCode)=="0"){
printKliringArea2.text = "Kantor Pusat";
}else{
printKliringArea2.text = "Wilayah " +
DataRows.getItemAt(i).AreaCode + ", " + DataRows.getItemAt(i).KliringArea;
}
printSpecimen2.width = imageWidth;
printSpecimen2.height = imageHeight;
//printSpecimen2.source = newRepeat
}
if(counterData === 3)
{
printRow3.visible = true;
printName3.text = DataRows.getItemAt(i).Name;
printClass3.text = DataRows.getItemAt(i).Class;
printAuthorityCode3.text =
DataRows.getItemAt(i).AuthorityCode;
if(StringUtil.trim(DataRows.getItemAt(i).AreaCode)=="0"){
printKliringArea3.text = "Kantor Pusat";
}else{
printKliringArea3.text = "Wilayah " +
DataRows.getItemAt(i).AreaCode + ", " + DataRows.getItemAt(i).KliringArea;
}
printSpecimen3.width = imageWidth;
printSpecimen3.height = imageHeight;
//printSpecimen3.source = newRepeat
}
// bila melebihi limit data atau data sudah habis
if(counterData === pageLimit || i === DataRows.length
- 1)
{
// tambahkan ke halaman pencetakan
myPrintJob.addObject(mySheet,FlexPrintJobScaleType.NONE);
// tambahkan counter halaman
counterPage++;
// kembalikan counterData ke normal
counterData = 0;
}
}
if(counterPage > 0)
{
myPrintJob.send(); // kirim ke pencetak
myPrintJob = null;
Search();
}
}
else
{
//mdm.Dialogs.prompt("Cannot print page, please check your
printer configuration !!");
}
CursorManager.removeBusyCursor();
}