[Samba] Printing with CUPS and PDF
kpfeifle at danka.de
Mon Mar 31 21:19:44 GMT 2003
> 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?
> 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.
> 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
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
and grep for "pdf".
To check if it basically works as a backend, first run it with no arguments:
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:
Last: If you want to get some more debugging info into the CUPS error_log
(in "/var/log/cups/error_log"), insert this line
into the "pdfdistiller" as the right after the first line. Set cupsd.conf
to "LogLevel debug" and re-start cupsd.
> I dig the simplicity of the solution at
> but given that it doesn't seem to work for me, I can hardly recommend
You don't need to recommend it -- *I'll* be doing it... ;-)
> Perhaps I'm missing something. Is there any documentation out there
> that's more in depth than the pdfdistiller file itself and this thread?
Hmmm... I just checked and the detailled README I once put there has
gone. Need to dig it out again.
> Thanks to all who responded to the original post!
> Kurt Pfeifle wrote:
>> This is only *one* of the many options to create a "PDF printer". It is
>> geared towards working with a legacy, old-fashioned spooling system.
>> It will only serve your Windows clients. Should you need to support
>> Unix/Linux/MacOSX clients too with your print server, you'd need to set
>> up a separate PDF printer for these type of clients.
>> A better way to set up a PDF generation service for print clients is to
>> use the PDF creating CUPS "backend" as provided on
>> You need the backend provided there plus a PPD for a generic PostScript
>> printer (best, use the distiller.ppd as was provided once for Acrobat 3
>> by Adobe -- it still floats around in various dl areas on the internet).
>> If you set up a printer using this backend, the PDF printer will be
>> shared to all print clients, Linux, Unix, Mac OS X and Windows. Samba's
>> Point and Print capabilities will even make possible to download the
>> "driver" to all Windows clients (Unix clients get the "driver" through
>> CUPS native capabilities).
>> It means you can send all formats supported by CUPS to this PDF printer:
>> ASCII, image files, PS, PDF... and CUPS will take care to convert
>> to PostScript and the PDF backend will generate the PDF...
More information about the samba