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

I get lots of e-bills (utility, telephone, the 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 do not 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 options:

  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 apt-get 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 apt 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

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

Posted by: SXI ADMIN

The author is the creator of SXI LLC and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.