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. :(
OK.
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 arguments:
"/usr/lib/cups/backend/pdfdistiller"
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 arguments)
"/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 /usr/share/cups/model/distiller.ppd"
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 in /var/log/cups/error_log.
Here's a chunk of what I found:
D [31/Mar/2003:14:19:22 -0800] StartJob: backend = "/usr/lib/cups/backend/pdf"
D [31/Mar/2003:14:19:22 -0800] StartJob: filterfds[1] = -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 http://printing.kde.org/downloads/ 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! :)
Thanks Kurt!
-Tom
-- To unsubscribe from this list go to the following URL and read the instructions: http://lists.samba.org/mailman/listinfo/samba
