GNOME Bugzilla – Bug 557112
implementation of full Gtk+ printing stack
Last modified: 2009-05-17 14:43:13 UTC
Evince doesn't use the whole Gtk+ printing stack. It tries to prepare document for printing itself. This causes some bugs (397225, 455759, 460267, 542538, 550125), which is not easy to handle (combination of several print settings produce incorrect print in this case). Mark
Created attachment 120940 [details] [review] implementation of Gtk+ printing stack for pdf backend and for tiff backend This is an implementation of the whole Gtk+ printing stack using GtkPrintOperation in Evince. There are handled pdf and tiff backends. The other backends are not supported in this patch because of unsupported vector graphic rendering to cairo_t by used libraries. Mark
Hi Marek, thank you very much for the patch, I was also looking at how to implement printing with gtkprintoperation since you commented it on mailing list. The main problem is that currently gtkprintoperation uses the main loop for printing which means blocking the gui while rendering the page (See bug #339318). There are documents that take too long to render and we don't want to block the UI for such a long time. So first of all we need to fix bug #339318. Thanks.
bug #339318 is now fixed (thanks Marek), I'm already working on the evince side.
I've just realized there is still another issue. GTK+ doesn't support printing multiple pages per sheet when printing to a file (see bug #566218). That would be a regression in evince :-(
bug #549859 is the original bug for printing to file
Fixed in git master. It requires gtk+ 2.17.1.