Printing in a Flash/Flex application can be tricky to get right. I’ve been working on a very print-heavy application recently. We’ve been having a long standing intermittent bug where we print a large document, but some things on that document that were created through the Flash drawing API wouldn’t be on the paper.
We added a
var options:Object = canvas.prepareToPrint( canvas );
Before the print and a
canvas.finishPrint( options, canvas);
After the print, and it seems to have solved our problem even though the documentation says we shouldn’t ordinarily need to explicitly call those.

Do you have any tips on making the quality acceptable? I’ve tried printing directly from Flex with PrintJob but the quality is awful, it’s all blurry. Have I missed something?
We had some problems when capturing a bitmap and then printing that with bluriness. The problem is the printer has a much higher DPI than the screen so the anti-aliasing is all wrong and gives a blurry look.
But we moved to a scheme where we print directly from a display object to the PrintJob and it’s working pretty well. I assume it’s keeping the vector graphics until a later stage in the process. On OSX it’s slightly blurry and on Windows it’s perfect.
We are using system rendered and not embedded fonts.
I print directly from the Display List too and it does keep things as vector. In fact, the Canvas I’m printing from is only around 425 x 550 (Half of 8.5 x 11 times 100px), and it’s not blurry at all. The only error I’m seeing is that I get an extremely thin blue line on the left and bottom of the image in the print. Strangely, it only happens when I do a physical print - when I print to PDF it doesn’t show up. Anyone ever see that?
I’ve tried printing components containing text rendered with both device fonts (the default, Verdana) and embedded fonts on OS X the printed text is really, really blurry. Printing a 72 dpi bitmap with text doesn’t look as blurry as this does, it must be something wrong with the way Flash/Flex prepares the print job, at least on the Mac. You would expect something that’s basically vectors all the way to do crisp printing, instead it looks like a bitmap rendering at 50 dpi blown up to 300.
Anyone notice any difference when setting FlexPrintJob.printAsBitmap to false?
Theo, like I mentioned the OSX printouts were a bit blurrier than windows. But we’re making multi-page timelines that get printed out and hanged on a wall. So the intended target audience is standing back a few feet. Maybe our requirements are just a bit less stringent than yours.
Das,
printAsBitmap true/false doesn’t seem to do a lot for us.
Developing for AIR on Mac OS X. The FlexPrintJob.printAsBitmap = false does not seem to do anything for me. Printed text is fuzzy.