Printing horrors

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.

7 Responses to “Printing horrors”


  1. 1 Theo

    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?

  2. 2 Marc

    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.

  3. 3 Ben Throop

    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?

  4. 4 Theo

    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.

  5. 5 DasFX

    Anyone notice any difference when setting FlexPrintJob.printAsBitmap to false?

  6. 6 Marc

    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.

  7. 7 Will

    Developing for AIR on Mac OS X. The FlexPrintJob.printAsBitmap = false does not seem to do anything for me. Printed text is fuzzy.

Leave a Reply