(In reply to comment #69)
> This bug appears to still be present in the xournal and epdfview programs. It
> has been suggested that it is because they use poppler_page_render_to_pixbuf
> rather than the Cairo backend (which is where this bug was fixed).
Not exactly, because when rendering to a pixbuf cairo backend is used too.
> Can a poppler expert comment on this?
I've just found the problem. It's a bug in the glib frontend. The problem is that image prescaling is disabled when rendering for printing, and printing is initialized to True in CairoOutputDev. We are calling CairoOutputDev::setPrinting() in poppler_page_render but it's missing in poppler_page_render_to_pixbuf(). Now, that glib frontend depends on cairo, I'm going to change render_to_pixbuf to call poppler_page_render directly and the problem will be fixed.
Please, note that poppler_page_render_to_pixbuf() and the other GDK functions are going to be deprecated in a near future, since we are just rendering to a cairo surface and then converting to a gdk pixbuf.
(In reply to comment #69) page_render_ to_pixbuf
> This bug appears to still be present in the xournal and epdfview programs. It
> has been suggested that it is because they use poppler_
> rather than the Cairo backend (which is where this bug was fixed).
Not exactly, because when rendering to a pixbuf cairo backend is used too.
> Can a poppler expert comment on this?
I've just found the problem. It's a bug in the glib frontend. The problem is that image prescaling is disabled when rendering for printing, and printing is initialized to True in CairoOutputDev. We are calling CairoOutputDev: :setPrinting( ) in poppler_page_render but it's missing in poppler_ page_render_ to_pixbuf( ). Now, that glib frontend depends on cairo, I'm going to change render_to_pixbuf to call poppler_page_render directly and the problem will be fixed.
> See: sourceforge. net/mailarchive /message. php?<email address hidden>
> http://
> and follow-up messages for some details.
Please, note that poppler_ page_render_ to_pixbuf( ) and the other GDK functions are going to be deprecated in a near future, since we are just rendering to a cairo surface and then converting to a gdk pixbuf.
Thanks for reporting.