SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

Welcome to CUPS-PDF v2

CONTENTS
  1. building CUPS-PDF
  2. setting up the PDF queue with CUPS
  3. note for MacOSX
  4. contact

1. building CUPS-PDF

Edit src/cups-pdf.h if you do not like /etc/cups/cups-pdf.conf as name for the configuration file.
To compile CUPS-PDF, invoke gcc in the src/ directory:

gcc -O9 -s -o cups-pdf cups-pdf.c

To install the binary, simply copy cups-pdf to the backend directory of CUPS (usually /usr/lib/cups/backend).

Now copy extra/cups-pdf.conf to /etc/cups (or whatever location you selected in cups-pdf.h above). Here you can set all properties of CUPS-PDF at runtime without the need for restarting any services. (The defaults should work fine on most systems.)

In case you want to use the color PostScript driver that comes with CUPS-PDF go to the extra/ subdirectory and copy PostscriptColor.ppd.gz to your cups model directory (usually /usr/share/cups/model).
There are currently two releases of this driver available: rev3b and rev4 - the latter one will use the full pagesize, rev3b will stay within the usual printer's margins.

2. setting up the PDF queue with CUPS

Important notes:

CUPS-PDF requires root privileges since it has to modify file ownerships. In recent distributions the "RunAsUser" option in cupsd.conf is set to "Yes" which removes these privileges. Please make sure to set "RunAsUser No" if you want to use CUPS-PDF. ** Starting with version 1.2.0 CUPS implements the "RunAsOption" no

        longer. 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).

make sure if any of CUPS-PDF's working directories (e.g. output) is a NFS mounted volume it is mounted without root_squash! 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 make sure it does 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)

Now after restarting CUPS you will be able to choose "Virtual Printer (PDF Printer)" when setting up a new printer in CUPS. 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 it's 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 file "PostscriptColor.ppd.gz" is a modified version of the "Postscript.ppd.gz" that comes with CUPS 1.1.15 that is able to handle color output.

You should have a look at the contrib/ directory in this bundle which contains several additions to CUPS-PDF which enhance functionality or supports the setup of CUPS-PDF on different platforms.

3. note for MacOSX

Since MacOSX' AFPL GhostScript does not support the way of PDF generation used by CUPS-PDF you will have to use pstopdf instead. For this the settings of GhostScript, GSCall and PDFVer in cups-pdf.conf have to be changed accordingly. The values are documented in cups-pdf.conf .

4. contact

Volker Christian Behr
vrbehr@cip.physik.uni-wuerzburg.de
http://cip.physik.uni-wuerzburg.de/~vrbehr/cups-pdf


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.