[cups] Explanation why cups uses pdftops instead foomatic-rip (what seems to be the configured way)

Paul Neuwirth mail at paul-neuwirth.nl
Fri Jan 27 05:40:21 PST 2017


Hello list,
as poppler-tools pdf2ps is broken for me (or my printer) I wanted 
configure cups to use gv instead.
Configuration seems ok, using foomatic-rip (which uses gv) - but cups 
uses another way, I cannot find, where this is configured.
printing text from stdin:
relevant lines of the debug output:
D [26/Jan/2017:11:24:19 +0100] [Job 1215] Request file type is 
text/plain.
D [26/Jan/2017:11:24:19 +0100] [Job 1215] texttopdf (text/plain to 
application/pdf, cost 32)
D [26/Jan/2017:11:24:19 +0100] [Job 1215] pdftopdf (application/pdf to 
application/vnd.cups-pdf, cost 66)
D [26/Jan/2017:11:24:19 +0100] [Job 1215] foomatic-rip 
(application/vnd.cups-pdf to printer/E360d, cost 0)
I [26/Jan/2017:11:24:19 +0100] [Job 1215] Started filter 
/usr/lib/cups/filter/texttopdf (PID 22942)
I [26/Jan/2017:11:24:19 +0100] [Job 1215] Started filter 
/usr/lib/cups/filter/pdftopdf (PID 22943)
I [26/Jan/2017:11:24:19 +0100] [Job 1215] Started filter 
/usr/lib/cups/filter/foomatic-rip (PID 22944)
I [26/Jan/2017:11:24:19 +0100] [Job 1215] Started backend 
/usr/lib/cups/backend/ipp (PID 22945)
D [26/Jan/2017:11:24:19 +0100] [Job 1215] 
================================================
D [26/Jan/2017:11:24:19 +0100] [Job 1215] File: <STDIN>
D [26/Jan/2017:11:24:19 +0100] [Job 1215] 
================================================
D [26/Jan/2017:11:24:21 +0100] [Job 1215] PID 22942 
(/usr/lib/cups/filter/texttopdf) exited with no errors.
D [26/Jan/2017:11:24:21 +0100] [Job 1215] Filetype: PDF
D [26/Jan/2017:11:24:21 +0100] [Job 1215] PostScript option found: 
PageSize=Letter: "<</PageSize[612 792]/ImagingBBox null>>setpagedevice"

until here as expected... but now instead of using foomatic-rip:


D [26/Jan/2017:11:24:21 +0100] [Job 1215] Driver does not understand PDF 
input, converting to PostScript
D [26/Jan/2017:11:24:21 +0100] [Job 1215] Storing temporary files in 
/var/spool/cups/tmp
D [26/Jan/2017:11:24:21 +0100] [Job 1215] PID 22943 
(/usr/lib/cups/filter/pdftopdf) exited with no errors.
D [26/Jan/2017:11:24:21 +0100] [Job 1215] Starting process "pdf-to-ps" 
(generation 1)
D [26/Jan/2017:11:24:21 +0100] [Job 1215] Printer make and model: 
Lexmark Lexmark E360dn
D [26/Jan/2017:11:24:21 +0100] [Job 1215] Running command line for 
pstops: pstops 1215 root stdin 1 ' finishings=3 
job-uuid=urn:uuid:3542e92d-aae6-34f7-5b1c-1ff7d9d7a9da 
job-originating-host-name=localhost time-at-creation=1485426259 
time-at-processing=1485426259'
D [26/Jan/2017:11:24:21 +0100] [Job 1215] Using image rendering 
resolution 600 dpi
D [26/Jan/2017:11:24:21 +0100] [Job 1215] Running command line for 
pdftops: pdftops -level3 -origpagesizes -nocenter -r 600 
/var/spool/cups/tmp/foomatic-fOwfSD -
D [26/Jan/2017:11:24:21 +0100] [Job 1215] Started filter pdftops (PID 
22948)
D [26/Jan/2017:11:24:21 +0100] [Job 1215] Started filter pstops (PID 
22949)
D [26/Jan/2017:11:24:21 +0100] [Job 1215] Page = 595x842; 18,36 to 
577,806
D [26/Jan/2017:11:24:21 +0100] [Job 1215] slow_collate=0, slow_duplex=0, 
slow_order=0
D [26/Jan/2017:11:24:21 +0100] [Job 1215] Before copy_comments - 
%!PS-Adobe-3.0
D [26/Jan/2017:11:24:21 +0100] [Job 1215] %!PS-Adobe-3.0
D [26/Jan/2017:11:24:21 +0100] [Job 1215] %Produced by poppler pdftops 
version: 0.43.0 (http://poppler.freedesktop.org)
[...]

i actually cannot find where this way of filtering is being set up?
i looked through several pages  (e.g. 
https://en.opensuse.org/SDB:Using_Your_Own_Filters_to_Print_with_CUPS) I 
found about setting up filtering.. but i was unnable to find out where 
these filtering is configured ( and why not foomatic-rip is used to 
convert pdf to ps, which actually works if i call it directly).

The ppd (original from openprintingppds) looks correct:
*FormatVersion: "4.3"
*FileVersion:   "1.1"
*LanguageVersion: English
*LanguageEncoding: ISOLatin1
*PCFileName:    "POSTSCRI.PPD"
*Manufacturer:  "Lexmark"
*Product:       "(Lexmark E360dn)"
*cupsVersion:   1.0
*cupsManualCopies: True
*cupsModelNumber:  2
*cupsFilter:    "application/vnd.cups-postscript 100 foomatic-rip"
*cupsFilter:    "application/vnd.cups-pdf 0 foomatic-rip"
*%pprRIP:        foomatic-rip other
*ModelName:     "Lexmark E360d"
*ShortNickName: "Lexmark E360d Postscript"
*NickName:      "Lexmark E360d Foomatic/Postscript"
*PSVersion:     "(3010.000) 550"
*PSVersion:     "(3010.000) 651"
*PSVersion:     "(3010.000) 652"
*PSVersion:     "(3010.000) 653"
*PSVersion:     "(3010.000) 704"
*PSVersion:     "(3010.000) 705"
*PSVersion:     "(3010.000) 800"
*PSVersion:     "(3010.000) 815"
*PSVersion:     "(3010.000) 850"
*PSVersion:     "(3010.000) 860"
*PSVersion:     "(3010.000) 861"
*PSVersion:     "(3010.000) 862"
*PSVersion:     "(3010.000) 863"
*PSVersion:     "(3010.000) 864"
*PSVersion:     "(3010.000) 870"
*LanguageLevel: "3"
[...]
*driverName Postscript: ""
*driverType P/PostScript: ""
[...]

mime.convs (original unchanged from /usr/share/cups/mime/):

application/postscript          application/vnd.cups-postscript 66 
pstops
application/vnd.cups-raster     image/pwg-raster                100 
rastertopwg
application/octet-stream        application/vnd.cups-raw        0 
-

(also tried to setup:)
text/plain              application/postscript  33      texttops
which was the (working) default up to cups 1.5


actually in the log files, everything sound good, 
texttopdf (text/plain to application/pdf, cost 32)
pdftopdf (application/pdf to application/vnd.cups-pdf, cost 66)
foomatic-rip (application/vnd.cups-pdf to printer/E360d, cost 0)
would be the right way..

actually cups converts the pdf to ps in another way.. why?

Thank you for any help and have a nice weekend,

Paul



More information about the cups mailing list