CUPS

The Common UNIX Printing SystemTM, or CUPS, is the software you use to print from applications like the web browser you are using to read this page. It converts the page descriptions produced by your application (put a paragraph here, draw a line there, and so forth) into something your printer can understand and then sends the information to the printer for printing.

Now, since every printer manufacturer does things differently, printing can be very complicated. CUPS does its best to hide this from you and your application so that you can concentrate on printing and less on how to print. Generally, the only time you need to know anything about your printer is when you use it for the first time, and even then CUPS can often figure things out on its own.

Configure
If you have an HP printer:

And then add your printer from your web browser: http://localhost:631/

Install

 * Start your favorite web browser
 * Type into the address bar http://localhost:631
 * Click on "Printers" and then on "Add Printer"
 * Choose a nice name (e.g. cups_pdf_printer) and click on continue
 * Select "Virtual Printer (PDF Printer)" from the drop down menu and click on continue
 * Select "Generic" and click on continue
 * Select "Generic CUPS-PDF Printer" and click on continue to finalize the installation

Print to user home
Just add to the file: