Is there a tool that can add a password to a PDF file?

I've found lots of info on decrypting PDF files, but none on encrypting them. What tool can do this for me?

Edit: There are two good answers below, but in my specific case the PDF was a scan, not a document that I'd created.


Solution 1:

Use pdftk. From its man page:

Encrypt a PDF using 128-Bit Strength (the Default) and Withhold All Permissions (the Default)

$ pdftk [mydoc].pdf output [mydoc.128].pdf owner_pw [foopass]

Same as Above, Except a Password is Required to Open the PDF

$ pdftk [mydoc].pdf output [mydoc.128].pdf owner_pw [foo] user_pw [baz]

Same as Above, Except Printing is Allowed (after the PDF is Open)

$ pdftk [mydoc].pdf output [mydoc.128].pdf owner_pw [foo] user_pw [baz] allow printing

pdftk has a lot of other uses as well and is worth installing if one works extensively with PDF files. To quote from the write-up in Synaptic:

If PDF is electronic paper, then pdftk is an electronic stapler-remover, hole-punch, binder, secret-decoder-ring, and X-Ray-glasses. Pdftk is a simple tool for doing everyday things with PDF documents. Keep one in the top drawer of your desktop and use it to:

  • Merge PDF documents
  • Split PDF pages into a new document
  • Decrypt input as necessary (password required)
  • Encrypt output as desired
  • Fill PDF Forms with FDF Data and/or Flatten Forms
  • Apply a Background Watermark
  • Report PDF on metrics, including metadata and bookmarks
  • Update PDF Metadata
  • Attach Files to PDF Pages or the PDF Document
  • Unpack PDF Attachments
  • Burst a PDF document into single pages
  • Uncompress and re-compress page streams
  • Repair corrupted PDF (where possible)

Solution 2:

If you use LibreOffice and export a document as PDF (Menu > File > Export as PDF), there's the option to set a password:

enter image description here

Solution 3:

qpdf can encrypt and decrypt pdfs. And linearize them, too.

examples:

  • decryption:
    • qpdf --password='·······' --decrypt input.pdf output.pdf
  • encryption: 256bit AES
    • qpdf --encrypt userpwd ownerpwd 256 -- input.pdf output.pdf
    • Further encryption options

Link to qpdf online Manual

Ubuntu Launchpad PPA

Solution 4:

PDF Chain is an awesome tool for this. It is a GUI for pdftk

Solution 5:

One possible solution is to use jpdf Tweak.