- pdf_document->ps_file = poppler_ps_file_new (pdf_document->document, filename,
- first_page,
- last_page - first_page + 1);
- poppler_ps_file_set_paper_size (pdf_document->ps_file, width, height);
- poppler_ps_file_set_duplex (pdf_document->ps_file, duplex);
+ switch (format) {
+ case EV_FILE_FORMAT_PS:
+ ctx->ps_file = poppler_ps_file_new (pdf_document->document,
+ filename, first_page,
+ last_page - first_page + 1);
+ poppler_ps_file_set_paper_size (ctx->ps_file, width, height);
+ poppler_ps_file_set_duplex (ctx->ps_file, duplex);
+
+ break;
+ case EV_FILE_FORMAT_PDF: {
+ cairo_surface_t *surface;
+
+ surface = cairo_pdf_surface_create (filename, width, height);
+ ctx->pdf_cairo = cairo_create (surface);
+ cairo_surface_destroy (surface);
+ }
+ break;
+ default:
+ g_assert_not_reached ();
+ }