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:ArrayColle ction = globalArrayData;
var myPrintJob:FlexPrin tJob = new FlexPrintJob( );
myPrintJob.printAsB itmap = 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.addObjec t(mySheet, FlexPrintJobScal
eType.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
mx:Image object in mx:list itemRenderer 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.addObjec t(mySheet, FlexPrintJobScal
eType.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 ();
}
Thanks for your help
Kendor