Howto Install and Customize CUPS-PDF in Debian
Posted by Admin on March 17th, 2009
This tutorial will set up a virtual PDF printer that outputs files named with a timestamp into the folder ~/PDF.
Install CUPS-PDF in Debian
#aptitude install cups-pdf
Configuring CUPS-PDF
Now go to http://localhost:631″ in a browser,Add the virtual printer, choosing among the options presented,When prompted for a username and password, use “root” as your username and… your root password as your password!
Now go to Menu > Settings > Printing System Settings, select “CUPS”
Configure output settings
# vi /etc/cups/cups-pdf.conf
To change the folder where generated PDF folders are created, edit the line “Out ${HOME}/PDF” to whatever you like.
CUPS-PDF doesn’t allow you to change the name of the resulting file, so if you want to customize the filename, use the built-in post-processing option. Still in cups-pdf.conf, uncomment “PostProcessing” and set it to “/usr/local/bin/cups-pdf-renamer”.
Create a simple shell script
# vi /usr/local/bin/cups-pdf-renamer
Paste the following code into that file:
#!/bin/bash
FILENAME=`basename $1`
DIRNAME=`dirname $1`
DATE=`date +”%Y-%m-%d_%H:%M:%S”`mv $1 $DIRNAME”/”$DATE”.pdf”
Save and exit the file.
Finally, give the script proper permissions
# chmod 755 /usr/local/bin/cups-pdf-renamer
Now when you choose to print with cups-pdf, you should see a file with a name like “2009-03-16_10:57:03.pdf” in your ~/PDF directory.

March 17th, 2009 at 2:38 pm
[quote]Now go to http://localhost:631? in a browser,Add the virtual printer, choosing among the options presented,[/quote]
What Make/Manufacturer do you use? Or do you use a PPD file? If so where do you find it?
I found this to be a very poor “HowTo” and more of a general overview of the package.
Al
March 18th, 2009 at 12:45 am
Pretty minimal howto. For example, cups-pdf requires you to select a printer (or PPD file). Doe it even matter which one, and why if printing to a PDF file?
I’ll try it anyway.
March 18th, 2009 at 12:57 am
Doesn’t seem to work. I printed a document from OpenOffice to the new virtual printer, but when I viewed the generated document via acroread (ie adobe acrobat reader), the document was totally blank.
March 18th, 2009 at 2:22 am
Thanks! I didn’t know there was a PostProcessing option. Here’s my script, it’s limited but it works:
#!/bin/bash
export DISPLAY=:0.0
export XAUTHORITY=/home/$2/.Xauthority
FILENAME=`basename $1`
DIRNAME=`dirname $1`
SAVE_AS=`gxmessage “Save as:” -entrytext $FILENAME`
mv $1 $DIRNAME”/”$SAVE_AS
March 18th, 2009 at 4:41 am
Also in Debian Lenny does it not work, cause you have always a dialog where you can set name or folder for the output.
March 26th, 2009 at 9:52 pm
When chaging the output directory in Ubuntu, you have to also reconfigure the apparmor for cups-pdf. The exact instructions are in
Changing cups-pdf directory, by erginemr. Until you do it, pdf won’t be written to the Out directory, as I myself verified first.
Celita
August 7th, 2009 at 4:13 am
I was confused about the make/manufacturer as well. I just chose “generic” for make and “generic cups-pdf printer” for the model. However, after I finished I noticed that there was already a pdf printer in my cups list. I don’t know how that got there but both seem to work fine.
March 1st, 2010 at 11:08 pm
Hi
Here is my a little bit more comfortable improvement:
/usr/local/bin/cups-pdf-renamer:
——————————–
#!/bin/bash
export DISPLAY=:0.0
export XAUTHORITY=/home/$2/.Xauthority
FILENAME=`basename $1`
cd ~
SAVE_TO=$(zenity –file-selection –save –filename=”$FILENAME”)
mv “$1″ “$SAVE_TO”
/etc/cups/cups-pdf.conf:
—————————-
change Out directive:
Out /tmp/cups-pdf # for example
I hope, someone appreciate this as me
July 27th, 2010 at 2:35 am
Yes, configuring in the browser took some doing. You can find the PDF printer under the “generic” printer category.