poppler_page_render_for_printing on cairo_pdf_surface repeats content
Submitted by Jaime Velasco Juan
Assigned to poppler-bugs
Link to original bug (#104864)
Description
Created attachment 137056 Test program
I am writing a small utility to manipulate PDF files. It loads input files, let the user delete, duplicate or reorder pages and then calls poppler_page_render_for_printing in the desired output order, using a cairo_pdf_surface. It worked fine until testing with certain scanned PDF, where it outputs the same page each time.
I'll attach a C test program (compile with gcc test.c pkg-config --cflags --libs poppler-glib cairo gobject-2.0 gio-2.0
) and two input PDF (zma_001.pdf and zma_002.pdf). Called as "./a.out zma_001.pdf zma_002.pdf output.pdf" is expected to create output.pdf with both input pages concatenated, but the first page appears twice (but clipped to the second page's dimensions).
The expected output is generated when using poppler_page_render instead of poppler_page_render_for_printing but this makes bigger files (maybe resamples the images?).
Thanks
Attachment 137056, "Test program":
test.c