Projects / CUPS-PDF


CUPS-PDF is a PDF writer backend for CUPS. It is designed to produce PDF files in a heterogeneous network by providing a PDF printer on the central fileserver. It will convert files printed to its queue in CUPS to PDF and put them in a per-user-based directory structure. It can execute post-processing scripts, e.g. to allow mailing the results to the user.

Operating Systems

Recent releases

  •  01 Mar 2012 20:56

    Release Notes: This release supports multiple configurations with one backend, supports option setting via lpoptions or the PPD, and adds an additional PPD for option setting. A new option for selecting output file extensions is available. The logging system has been improved with better error handling, and various general code optimizations have been done. A new script for handling options has been included in the contrib/ directory, and all documentation has been updated.

    •  04 Oct 2011 17:31

      Release Notes: A non-freed pointer was fixed, as well as an invalid line in the configuration file caused by a typo. Some detailed copyright information was included with the user contributions to CUPS-PDF.

      •  01 Oct 2011 20:41

        Release Notes: An experimental option for coping with various unusual line delimiters that led to errors in the past was added. Supplementary groups are now set in addition to the primary one, to allow parts of the path to be accessible only through those supplementary groups of the printing user.

        •  18 Feb 2011 23:40

          Release Notes: A crash due to an uninitialized pointer was fixed and the logging mechanism for crashes was improved. Recognition of untitled documents via stdin was extended and job labels can now be set before and after the document name. In the contributed files, several bashisms were removed from the SELinux-contribution.

          •  26 Jan 2009 18:14

            Release Notes: A new option to truncate long filenames was introduced. The spool file is now also purged on errors, and failed chmod() on the output file is treated as non-fatal. Updates and additions to the documentation were made, and the additional changelog was removed from the source code.

            Recent comments

            19 Feb 2013 13:37 naum1958

            There is a potential NULL pointer usage if second attempt to allocate storage for user's groups fails. There is no check for calloc status.

            21 Oct 2010 23:39 wililupy

            Love how easy it is to setup and get running. Only thing is how hard would it be to add functionality to print to differnt folder locations based on different print queues?
            Example would be someone needs to print to a community share for one queue and another group needs to print to another community share in landscape.

            13 Oct 2010 14:14 akeiron

            Hello guys, this is a GREAT project.
            However I dare to ask for a truly minor feature, which I think would be very useful to a lot of people out there, and so easy to implement. As far as I can tell, cups-pdf writes PDF files using the name of the job/file/whatever... This is good BUT a problem arises when a file with that name already exists. Why not to add a suffix like (1), (2), (3), (4), ecc. in that case, so that one can print many different documents with the same name without bothering about older files being overwritten? There is a lot of crappy windows software that behaves like that, which would greatly benefit a simple feature like this. Regards.

            12 Feb 2010 19:19 rstanley

            Are there any plans to preserve the hyperlinks in a PDF such as when called to print an HTML page from a browser such as Firefox? I would ask for an option that could be turned on or off. In, the export to PDF does preserve the hyperlinks. Thank you.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.