]> git.ipfire.org Git - thirdparty/cups-filters.git/commitdiff
pdftoraster: Added support for FINAL_CONTENT_TYPE env variable
authorTill Kamppeter <till.kamppeter@gmail.com>
Wed, 14 Jul 2021 21:44:42 +0000 (23:44 +0200)
committerTill Kamppeter <till.kamppeter@gmail.com>
Wed, 14 Jul 2021 21:44:42 +0000 (23:44 +0200)
cupsfilters/filter.h
filter/pdftoraster.c

index 55fba6fad0e5c22344b74435e3ef9bd87eec4bd5..e0bdf7949891a4e2012d96fa8cd87e59f78523f8 100644 (file)
@@ -224,10 +224,13 @@ extern int pdftops(int inputfd,
 
 
 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,
@@ -255,10 +258,13 @@ extern int rastertops(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,
index 0d42422fd6a392a0578ce5967f61019dfac91f06..1b45bd27eafb79a86ddc59f4824e04d5ea68122a 100755 (executable)
@@ -52,7 +52,16 @@ main(int  argc,         /* I - Number of command-line arguments */
   * 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");
@@ -71,4 +80,4 @@ cancel_job(int sig)                   /* I - Signal number (unused) */
   (void)sig;
 
   JobCanceled = 1;
-}
\ No newline at end of file
+}