[Samba] Printing with CUPS and PDF
samba-lists at fleet.ucdavis.edu
Mon Mar 31 23:00:22 GMT 2003
PDF printing through CUPS backend: Got it to work. Gory details follow.
Kurt Pfeifle wrote:
>> Tom samba-lists at fleet.ucdavis.edu wrote on Samba-Digest:
>> Mon Mar 31 11:57:58 GMT 2003
>> Everything goes smoothly with the installation... drop 'pdfdistiller'
>> into /usr/lib/cups/backend,
> I hope you didn't use "copy'n'paste" from your browser, but "Save as..."
> to get it?
I didn't. That file was fine.
>> chmod +x, restart cups service. Add a printer in cups with:
>> 'lpadmin -p PDF -E -v pdf:/tmp/'
>> ...and voila! Nothing happens.
> Of course not. You have not yet associated a PPD with it, which means you
> are running it as a "raw" printer.
Gentle readers, remember this lesson. A PPD file is necessary even for
printing to PDF files.
>> Doesn't give any errors, but it won't print ('lpr -P PDF foo.ps').
>> Delete the printer ('lpadmin -x PDF'), download distiller.ppd (found
>> here: http://www.pentondigitalads.com/downloads/adist4.zip). Copy new
>> ppd file to /usr/share/cups/model. Re-add printer with:
>> 'lpadmin -p PDF -E -v pdf:/tmp/ -m distiller.ppd'
>> ...and there we go! Still nothing prints. :(
> Did you re-start cupsd after dropping the "distiller.ppd" into
> "/usr/share/cups/model/" ? This is required to allow CUPS to rebuild
> its cache of available PPDs from that directory. Only if there is a
> valid cache, you can install the PPD using the "-m" parameter without
> the path.
> Otherwise use the absolute path; then you don't need to re-start cupsd
> after updating your PPD "model" directory:
> 'lpadmin -p PDF -E -v pdf:/tmp/ -P /usr/share/cups/model/distiller.ppd'
> Do you see a "/etc/cups/ppd/PDF.ppd" ?
> To check if CUPS is recogizing the newly available backend, let root run
> "lpinfo -v"
> and grep for "pdf".
> To check if it basically works as a backend, first run it with no
> and it should output
> 'direct pdf "Unknown" "PDF Writing"'
> Then run it with a wrong number of arguments (use 1, 2, 3, or 4 dummy
> "/usr/lib/cups/backend/pdfdistiller 1 2 a b"
> and it should output
> "Usage: pdf job-id user title copies options [file]"
> The PDF should go to "/tmp/", according to your installation. Backends
> are running
> as root, and for paranoid security you may not want to write files as
> root into
> "/tmp/". Better use a separate directory with access rights you need:
> "lpadmin -p PDF -E -v pdf:/home/username/pdfs/ -P
> Further, the script relies on "ps2pdf" to be present on your system. Do
> you get
> an answer to this:
> "which ps2pdf"
I did restart, I did get all of those messages, 'which ps2pdf' comes up
fine, everyone works great according to your docs up to this point.
> Last: If you want to get some more debugging info into the CUPS error_log
> (in "/var/log/cups/error_log"), insert this line
> "set -x"
> into the "pdfdistiller" as the right after the first line. Set cupsd.conf
> to "LogLevel debug" and re-start cupsd.
This is what fixed it for me... adding "set -x" in pdfdistiller and
"LogLevel debug" into cupsd.conf gave me much better info to dig through
Here's a chunk of what I found:
D [31/Mar/2003:14:19:22 -0800] StartJob: backend =
D [31/Mar/2003:14:19:22 -0800] StartJob: filterfds = -1, 9
D [31/Mar/2003:14:19:22 -0800]
start_process("/usr/lib/cups/backend/pdf", 0xbfffb730, 0xbfffabe0, 10, 9, 7)
I [31/Mar/2003:14:19:22 -0800] Started backend /usr/lib/cups/backend/pdf
(PID 4179) for job 155.
E [31/Mar/2003:14:19:22 -0800] PID 4179 stopped with status 22!
D [31/Mar/2003:14:19:22 -0800] [Job 155] /usr/lib/cups/backend/pdf: No
such file or directory
It was looking for "/usr/lib/cups/backend/pdf" as the backend instead of
"/usr/lib/cups/backend/pdfdistiller", which is what the file was named.
I made a copy called "/usr/lib/cups/backend/pdf" and it worked fine. I
do not yet know why cups was looking for the file as "pdf" instead of
"pdfdistiller", but this was the entirety of the issue.
>> I dig the simplicity of the solution at
>> but given that it doesn't seem to work for me, I can hardly recommend it.
> You don't need to recommend it -- *I'll* be doing it... ;-)
Ok, now that makes two of us! :)
More information about the samba