Friday, April 27, 2012

HowTo: Linux Remove a PDF File Password Using Command Line Options

I get lots of e-bills (utility, telephone, Internet, mobile, cable and so on) in a PDF format for my small business and I need to forward those to my accountant. However, all PDFs files are password protected. I don't want to share my account password with anyone to just open my bills. Evince is a PDF document viewer capable of displaying password protected files but it cannot remove the password. How do I remove a password from all PDFs under Ubuntu or any other Linux distribution in a batch mode?

You can remove the password using various utilities under Linux. Use any one of the following option:
  1. pdftk - A handy tool for manipulating PDF file.
  2. qpdf - The qpdf program is used to convert one PDF file to another equivalent PDF file.
  3. xpdf-utils - Portable Document Format (PDF) suite -- utilities such as pdftops and ps2pdf.
  4. Print to a file - Use Evince software itself.

How Do I Use pdftk To Remove The Password?

Type the following command to install the pdftk (note it will install java too, if you do not like java, just use another tool):
$ sudo apt-get install pdftk
Decrypt a PDF called input.pdf with YOURPASSWORD-HERE password and create unencrypted output.pdf, enter:
pdftk input.pdf output output.pdf user_pw YOURPASSWORD-HERE
OR
pdftk input.pdf output output.pdf user_pw YOURPASSWORD-HERE owner_pw YOURPASSWORD-HERE
OR
pdftk input.pdf output output.pdf input_pw YOURPASSWORD-HERE
Where,
  • input_pw password : Input PDF owner passwords
  • user_pw password : Input PDF user passwords
  • owner_pw password : Input PDF owner passwords same as input_pw.

How Do I Use qpdf To Remove The Password?

Type the following command to install the qpdf:
$ sudo apt-get install qpdf
Decrypt a PDF called input.pdf with YOURPASSWORD-HERE password and create unencrypted output.pdf, enter:
qpdf --password=YOURPASSWORD-HERE --decrypt input.pdf output.pdf

How Do I Use xpdf-utils To Remove The Password?

Type the following command to install the qpdf:
$ sudo apt-get install xpdf-utils
First, decrypt a PDF and create a postscript file, enter:
pdftops -upw YOURPASSWORD-HERE input.pdf
You will get input.ps file. This can be printed or open under Linux itself. But, you can convert it back .ps file (postscript)back to a PDF as follows:
ps2pdf input.ps
Please note that the ps2pdf command is part of ghostscript and it will get installed when you run xpdf-utils.

How Do I Use evince To Remove The Password?

Open a pdf file using evince itself, enter:
evince input.pdf
Enter your password. Once opened click on File > Print > Select "Print to file" > Select "PDF" as output format and click on Print.
Fig.01: PDF file remove password with evince print option
Fig.01: PDF file remove password with evince print option
Writing a shell script left as an exercise to the readers.

If You Don't Know The Password, Use Ghostscript Like This

Update: nickwe pointed out the following command:
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=unencrypted.pdf -c .setpdfwrite -f encrypted.pdf


No comments:

Post a Comment