extern int pdftoraster(int inputfd,
- int outputfd,
- int inputseekable,
- filter_data_t *data,
- void* parameters);
+ int outputfd,
+ int inputseekable,
+ filter_data_t *data,
+ void* parameters);
+
+/* Parameters: filter_out_format_t*
+ Ouput format: CUPS Raster or PWG Raster */
extern int pstops(int inputfd,
extern int rastertopwg(int inputfd,
- int outputfd,
- int inputseekable,
- filter_data_t *data,
- void *parameters);
+ int outputfd,
+ int inputseekable,
+ filter_data_t *data,
+ void *parameters);
+
+/* Parameters: filter_out_format_t*
+ Ouput format: Apple Raster or PWG Raster */
extern void filterSetCommonOptions(ppd_file_t *ppd,
* Fire up the pdftoraster() filter function
*/
- ret = filterCUPSWrapper(argc, argv, pdftoraster, NULL, &JobCanceled);
+ filter_out_format_t outformat = OUTPUT_FORMAT_CUPS_RASTER;
+ char *t = getenv("FINAL_CONTENT_TYPE");
+ if (t) {
+ if (strcasestr(t, "pwg"))
+ outformat = OUTPUT_FORMAT_PWG_RASTER;
+ else if (strcasestr(t, "cups"))
+ outformat = OUTPUT_FORMAT_CUPS_RASTER;
+ }
+
+ ret = filterCUPSWrapper(argc, argv, pdftoraster, &outformat, &JobCanceled);
if (ret)
fprintf(stderr, "ERROR: pdftoraster filter function failed.\n");
(void)sig;
JobCanceled = 1;
-}
\ No newline at end of file
+}