- CUPS-PDF requires root privileges since it has to modify file ownerships.
In order to ensure CUPS-PDF is running with the required root privileges
you have to make 'root' the owner of the cups-pdf backend and set the
file permissions of the backend to 0700 (root only).
NOTE: in older versions of CUPS (<1.2.0) you have to set the "RunAsUser"
option in cupsd.conf to "No" in order to grant full privileges.
- CUPS-PDF needs a fully featured UNIX-filesystem to work. Make sure if any
of CUPS-PDF's working directories (e.g. output) are located on an NFS
mounted volume they are mounted without root_squash! Other filesystems
(e.g. NetWare or Windows shares) are _not_ supported!
- CUPS-PDF is known to fail if the gs (GhostScript) binary on a system is
compressed by upx (Ultimate Packer for eXecutables).
- If you are using SELinux, AppArmour or similar tools, make sure these do
not interfere with CUPS-PDF.
(You can disable SELinux for CUPS by "setsebool -P cupsd_disable_trans 1"
or have a look at contrib/SELinux-HOWTO to make it work)
- On MacOSX you will have to use pstopdf instead of AFPL GhostScript (see README).
- There is a bug in ESP GhostScript version 8.15.1 which causes errors in generated PDFs when viewing them with Acroread. The bug is fixed in version 8.15.2.
- Starting with CUPS-PDF v3 a version of CUPS >= 1.2 is required. Furthermore
the development package of CUPS has to be installed in order to compile
The official README that also comes with the source package can be found here.
For the installation of CUPS-PDF on OpenSolaris x86 a comprehensive HowTo has been compiled by Esteban Fallas.
A quick guide (in German, but easily comprehensible without knowledge in German) for the installation on OpenIndiana can be found on the webpage of Philipp Speck.
Thomas Müller provided a CUPS-PDF HOWTO (as MS Word File) on how to set up CUPS-PDF in combination with Windows Active Directory Services (ADS), Windows Domains and language-specific special characters (e.g. German umlauts). The HOWTO is at this time only available in German but since it contains many examples it can be helpful even without the need to be able to read German.
A Galician and a Spanish installation HOWTO can be found on www.diazdelaiglesia.com.
(on a SuSE Linux (8.1 - 12.1) system - paths may differ on other platforms)
Either compile the package or process the single files below:
Modify the file cups-pdf.h to set the location of the configuration file.
Compile cups-pdf.c in the same directory as cups-pdf.h is located and move the binary to CUPS' backend directory (/usr/lib/cups/backend/cups-pdf)
[ e.g. by calling "gcc -O9 -lcups -s -o /usr/lib/cups/backend/cups-pdf cups-pdf.c" ]
Copy the file cups-pdf.conf to /etc/cups/cups-pdf.conf (or whatever you set above in
cups-pdf.h) and modify it to meet you requirements. All options are commented and the defaults should work fine on most systems.
Copy the file CUPS-PDF_opt.ppd to /usr/share/cups/model/Generic/CUPS-PDF_opt.ppd
[ if you do not wish to use option setting via PPD you can use CUPS-PDF_noopt.ppd instead ]
Now you will be able to choose "CUPS-PDF (Virtual PDF Printer)" when setting up a new printer in CUPS (a CUPS-restart may be necessary).
To set up a queue for other UNIX clients you should select Postscript as vendor and the Color Printer as model for your new printer; queues that get their input from samba or netatalk (i.e. Windows, OS/2 or MacOS) can be set up as raw queues. On the Windows, OS/2 or MacOS system choose a color postscript driver for that network printer (the drivers for Minolta Page Works or HP DesignJet printers do a good job).
Hint: If you want to create grayscale PDFs you just have to choose a grayscale printer driver, i.e. the postscript.ppd that comes with CUPS on the Linux side or a b/w laser printer (e.g. a HP LaserJet) on the Windows side. On the Linux side be aware that the postscript.ppd will not re-process data that is already supplied in Postscript format, i.e. a color Postscript will keep its colors.
Once you print to the new device the output directory selected in cups-pdf.conf (defaults to /var/spool/cups-pdf) will be created and all converted PDF files will be placed in subdirectories named after the owner of the print job. In case the owner cannot be identified (i.e. does not exist on the server) the output is placed in the directory for anonymous operation (if not disabled in cups-pdf.conf - defaults to /var/spool/cups-pdf/ANONYMOUS/). Furthermore if logging is enabled the logfile will be placed by default in /var/log/cups.
The files "CUPS-PDF_opt.ppd" and "CUPS-PDF_noopt.ppd" are modified versions of the "Postscript.ppd" that comes with CUPS 1.1.15 that is able to handle color output.
Last change : Saturday, 15-Dec-2012 13:22:52 CET