[cups.general] *.types, *.convs, filters, and cupsFilter
Michael Sweet
msweet at apple.com
Thu May 5 08:04:58 PDT 2011
Right now you have two options:
1. If you are using CUPS 1.4.x, define a new application/vnd.hp-pcl MIME type with an additional "priority(100)" in it. That will override the existing application/vnd.cups-raw rule.
2. If you are using an earlier version of CUPS, edit the mime.types file and just remember to redo your changes when you upgrade...
On May 3, 2011, at 11:53 AM, Paul wrote:
> The issue seems to spawn from PCL jobs being marked as vnd.cups-raw. I'm guessing there is something in cups that says, if in this format don't transform any more as I have been able to get around it by editing mime.types and mime.convs with the following:
> mime.types
> application/vnd.cups-pcl (string(0,<1B>E) + !string(2,<1B>%0B)) \
> string(0,<1B>@) \
> (contains(0,128,<1B>%-12345X) + \
> (contains(0,4096,"LANGUAGE=PCL") \
> contains(0,4096,"LANGUAGE = PCL")))
> application/vnd.cups-raw
>
> mime.convs
> application/vnd.cups-pcl application/vnd.cups-raw 0 -
>
> so this way it will autoconvert back to raw unless using my PPD that wants it to run through my filter.
>
> Am I correct in my assumption about vnd.cups-raw? anyone have better ideas than what I've done? not terribly keen on editing the mime files since they start with DO NOT ADD TO THIS FILE
>
>
>> sparing you all the long sad story as to the why, here is what I'm trying to accomplish. I want CUPS to ALWAYS call a filter script, regardless of type. it's working well except when I send a pcl type job, according to the mime.types as well as the c* file, it is matching as type application/vnd.cups-raw. I can make this model work by commenting out that type from mime.types, but I really don't want to. Ideas? Here is my current config. paultest is my filter name. Eventually i'm going to fine tune my types, but I did the hand of god approach first to just try and catch them all.
>>
>> paul.types
>> application/paul
>>
>> paul.convs
>> application/pdf application/paul 0 -
>> application/postscript application/paul 0 -
>> application/vnd.hp-HPGL application/paul 0 -
>> image/gif application/paul 0 -
>> image/png application/paul 0 -
>> image/jpeg application/paul 0 -
>> image/tiff application/paul 0 -
>> image/x-photocd application/paul 0 -
>> image/x-portable-anymap application/paul 0 -
>> image/x-portable-bitmap application/paul 0 -
>> image/x-portable-graymap application/paul 0 -
>> image/x-portable-pixmap application/paul 0 -
>> image/x-sgi-rgb application/paul 0 -
>> image/x-xbitmap application/paul 0 -
>> image/x-xpixmap application/paul 0 -
>> image/x-sun-raster application/paul 0 -
>> image/x-alias application/paul 0 -
>> image/x-bitmap application/paul 0 -
>> image/x-icon application/paul 0 -
>> application/x-cshell application/paul 0 -
>> application/x-perl application/paul 0 -
>> application/x-shell application/paul 0 -
>> application/x-csource application/paul 0 -
>> text/html application/paul 0 -
>> text/plain application/paul 0 -
>> text/css application/paul 0 -
>> application/rss+xml application/paul 0 -
>> application/vnd.cups-command application/paul 0 -
>> application/vnd.cups-form application/paul 0 -
>> application/vnd.cups-pdf application/paul 0 -
>> application/vnd.cups-postscript application/paul 0 -
>> application/vnd.cups-ppd application/paul 0 -
>> application/vnd.cups-raster application/paul 0 -
>> application/vnd.cups-raw application/paul 0 -
>> application/octet-stream application/paul 0 -
>>
>> PPD Line
>> *cupsFilter: "application/paul 0 paultest"
>>
>> paultest
>> #!/usr/bin/ksh
>> echo "0:$0" >> $TMPDIR/$$.paul
>> echo "1:$1" >> $TMPDIR/$$.paul
>> echo "2:$2" >> $TMPDIR/$$.paul
>> echo "3:$3" >> $TMPDIR/$$.paul
>> echo "4:$4" >> $TMPDIR/$$.paul
>> echo "5:$5" >> $TMPDIR/$$.paul
>> echo "6:$6" >> $TMPDIR/$$.paul
>> echo "APPLE_LANGUAGE: " $APPLE_LANGUAGE >> $TMPDIR/$$.paul
>> echo "CHARSET: " $CHARSET >> $TMPDIR/$$.paul
>> echo "CLASS: " $CLASS >> $TMPDIR/$$.paul
>> echo "CONTENT_TYPE: " $CONTENT_TYPE >> $TMPDIR/$$.paul
>> echo "CUPS_CACHEDIR: " $CUPS_CACHEDIR >> $TMPDIR/$$.paul
>> echo "CUPS_DATADIR: " $CUPS_DATADIR >> $TMPDIR/$$.paul
>> echo "CUPS_FILETYPE: " $CUPS_FILETYPE >> $TMPDIR/$$.paul
>> echo "CUPS_SERVERROOT: " $CUPS_SERVERROOT >> $TMPDIR/$$.paul
>> echo "DEVICE_URI: " $DEVICE_URI >> $TMPDIR/$$.paul
>> echo "FINAL_CONTENT_TYPE: " $FINAL_CONTENT_TYPE >> $TMPDIR/$$.paul
>> echo "LANG: " $LANG >> $TMPDIR/$$.paul
>> echo "PPD: " $PPD >> $TMPDIR/$$.paul
>> echo "PRINTER: " $PRINTER >> $TMPDIR/$$.paul
>> echo "RIP_CACHE: " $RIP_CACHE >> $TMPDIR/$$.paul
>> echo "TMPDIR: " $TMPDIR >> $TMPDIR/$$.paul
>> echo "Library:" >> $TMPDIR/$$.paul
>> grep 'CER_FORM' $PPD | cut -f2 -d':' >> $TMPDIR/$$.paul
>> echo "Forms:" >> $TMPDIR/$$.paul
>> lpoptions -d$PRINTER -l | grep *True | cut -f 1 -d ":" | cut -f 1 -d "/" >> $TMPDIR/$$.paul
>> cat $6
>
> _______________________________________________
> cups mailing list
> cups at easysw.com
> http://lists.easysw.com/mailman/listinfo/cups
________________________________________________________________________
Michael Sweet, Senior Printing System Engineer, PWG Chair
More information about the cups
mailing list