[CS3] catching/EventListener for PrintJob timeOut Exception

I’ve been looking for a way to print a large amount of data with Flash. so far, It seems that the PrintJob methods don’t seem to register right. How I read the docs was that you have 15 seconds between printJobObject.start() and the first printJobObject.addPage(), between the first printJobObject.addPage() and subsequent printJobObject.addPage(), and between the last printJobObject.addPage() and printJobObject.send(). But unfortunately for me, the way the timing appears to be working is this: time starts once the first printJObObject.addPage() and the last printJobObject.addPage(). the most pages I have been able to about put is about 45 pages of .jpg files that range from 50 to 130 kb, 579x749 px in size. If optimize the files any more, the quality becomes unacceptable.

So, I have been forced to accept that I can only spool 45 pages within the time limit, so I have a couple of other possible solutions. one is to have the option to print sections of the document. I don’t really like this option, because as I have been testing my code, I am getting unpredictable behavior in that the # of pages spooled in not consistant, varying by about 15 pages, but never more that 45. I’m worried that this app will be running on a slower processor and the hard coding of the number of pages to print will also experience a variance in the number of pages spooled, and some pages will not be printed.

So, the option that I would prefer, is to run the printJob code in a loop, that keeps track of how many pages have been spooled, and will terminate once all the pages have been printed. What is happening now, is that the loop terminates once the timeout exception is called. I’ve tried using a try…catch…finally structure to catch the error and continue the loop, but a reading about this in Essential Actionscript 3.0 I have found that exceptions that are thrown by the flash player cannot be caught, and need to have and EventListener registered in order to manage the occurance of the exception. Does anyone have any ideas on how to do this? I’ve tried

addEventListener(TimerEvent.TIMER, testTimer);
addEventListener(TIMER_COMPLETE, testTimer);
printJobObject.addEventListener(TimerEvent.TIMER, testTimer);
printJobObject.addEventListener(TimerEvent.TIMER_COMPLETE, testTimer);
function testTimer(e:TimerEvent){
trace(e);
}

none of these would trace out the event object though, and I will probably continue to try other methods, but thought, wouldn’t be cool if someone has been through this before and could offer some assistance?

I would appreciate any ideas, thoughts, or suggestions. Kirupa Rocks :skull: