render_for_printing


Description:

public void render_for_printing (Context cairo)

Render the page to the given cairo context for printing with ALL flags selected.

If you want a different set of flags, use render_for_printing_with_options.

The difference between render and this function is that some things get rendered differently between screens and printers:

  • PDF annotations get rendered according to their AnnotFlag value. For example, PRINT refers to whether an annotation is printed or not, whereas NO_VIEW refers to whether an annotation is invisible when displaying to the screen.
  • PDF supports "hairlines" of width 0.0, which often get rendered as having a width of 1 device pixel. When displaying on a screen, Cairo may render such lines wide so that they are hard to see, and Poppler makes use of PDF's Stroke Adjust graphics parameter to make the lines easier to see. However, when printing, Poppler is able to directly use a printer's pixel size instead.
  • Some advanced features in PDF may require an image to be rasterized before sending off to a printer. This may produce raster images which exceed Cairo's limits. The "printing" functions will detect this condition and try to down-scale the intermediate surfaces as appropriate.

Parameters:

this

the page to render from

cairo

cairo context to render to