- gint j;
-
- for (j = 0; j < n_copies; j++) {
- ev_job_print_do_page (job, page_list[page]);
+ gint k;
+
+ for (k = 0; k < n_copies; k++) {
+ ev_file_exporter_begin_page (EV_FILE_EXPORTER (document));
+
+ for (j = 0; j < job->pages_per_sheet; j++) {
+ gint p = page + j;
+
+ if (p < 0 || p >= n_pages)
+ break;
+
+ ev_render_context_set_page (rc, page_list[p]);
+ ev_file_exporter_do_page (EV_FILE_EXPORTER (document), rc);
+ }
+
+ ev_file_exporter_end_page (EV_FILE_EXPORTER (document));