Print protected PDF files

For those of you who are here to crack password protected PDF files: go away. I'm not going to explain you how to do that. I am, however, going to teach you how to get past that annoying print-protection system built into PDFs.

Print protected PDF files?

PDF files are all over the Internet, often containing high quality, good looking gems of knowledge. The point of these PDF files is, of course, to print them. If not, why would you use a PDF file and not just a web page? I would make the document much easier to view and navigate.

So PDF files are meant to be printed, then why do some people prevent you from printing their PDFs? Often because they want to offer you a preview of their work, but still giving you a strong incentive to buy their books.

If this is the case with the PDFs you want to print, be aware that if you use the method below, you might be breaking laws in your country. I'm not responsible for any of your actions, and you will burn in hell for violating Adobe's precious DRM. cough

I'm going to assume you want to print a nice, legal PDF document that for some reason unknown to man has been print-protected.

The tools

Ah yes, the tools. For this little task, you will need a few tools. First of all, you need a tool called pdftoppm. This is a command line program that will convert any PDF to a series of PPM, PGM or PBM images. On Linux and *BSD, you should look for poppler-utils or xpdf-utils using the package manager of your choice. Windows users might want to look at this.

Other than that, you'll need an image viewer that can print out these images. On Linux, I use gThumb.

Now, from your favorite terminal emulator/command prompt you run:

pdftoppm your_protected_pdf_file.pdf prefix_for_image_names

and you have a shiny set of PPM images.

These tend to use up huge amounts of disk space. If you want to keep them around, you should print them to a PostScript or PDF file (Windows users: PDFCreator). If you want to convert them in gray scale to save disk space, add -gray to the command line. For monochrome images, use -mono.