hie.
I've made a basic datagrid printing ( to print with page 3000 line's
datagrid
when i print to adobe pdf printer i get timeout error !
can you help me ?
my script :
public function doPrint():void {
var printJob:FlexPrintJob = new FlexPrintJob();
if (printJob.start()) {
// Create a FormPrintView control as a child of the
current view.
var thePrintView:FormPrintView = new FormPrintView();
Application.application.addChild(thePrintView);
//Set the print view properties.
thePrintView.width=printJob.pageWidth;
thePrintView.height=printJob.pageHeight;
thePrintView.prodTotal = prodTotal;
// Set the data provider of the FormPrintView
component's data grid
// to be the data provider of the displayed data grid.
thePrintView.myDataGrid.dataProvider =
myDataGrid.dataProvider;
// Create a single-page image.
thePrintView.showPage("single");
// If the print image's data grid can hold all the
provider's rows,
// add the page to the print job.
if(!thePrintView.myDataGrid.validNextPage)
{
printJob.addObject(thePrintView);
}
// Otherwise, the job requires multiple pages.
else
{
// Create the first page and add it to the print
job.
thePrintView.showPage("first");
printJob.addObject(thePrintView);
thePrintView.pageNumber++;
// Loop through the following code until all
pages are queued.
while(true)
{
// Move the next page of data to the top of
the print grid.
thePrintView.myDataGrid.nextPage();
thePrintView.showPage("last");
// If the page holds the remaining data, or
if the last page
// was completely filled by the last grid
data, queue it for printing.
// Test if there is data for another
PrintDataGrid page.
if(!thePrintView.myDataGrid.validNextPage)
{
// This is the last page; queue it and
exit the print loop.
printJob.addObject(thePrintView);
break;
}
else
// This is not the last page. Queue a middle
page.
{
thePrintView.showPage("middle");
printJob.addObject(thePrintView);
thePrintView.pageNumber++;
}
}
}
// All pages are queued; remove the FormPrintView
control to free memory.
Application.application.removeChild(thePrintView);
}
// Send the job to the printer.
printJob.send();
}