27

Is there a package and command that can secure rendered pdf with a password?

Caramdir
  • 89,023
  • 26
  • 255
  • 291
Level1Coder
  • 7,029

2 Answers2

22

In the case of pdfTeX, an external tool, such as pdftk or qpdf, is necessary to encrypt. In the case of XeTeX, we can use a \special supported by xdvipdfmx, for example:

\special{pdf:encrypt ownerpw (abc) userpw (xyz) length 128 perm 2052}
\documentclass{article}
\begin{document}
This is a test.
\end{document}
Akira Kakuto
  • 2,652
22

There used to be a package achieving PDF encryption, but it relied on obsolete pdfTeX patches: pdfcrypt

Nowadays, you need an external tool to encrypt your PDF. Here is an example to encrypt a PDF with pdftk:

pdftk inputfile.pdf output outputfile.pdf encrypt_128bit owner_pw yourownerpw user_pw youruserpw

That said, I guess a LaTeX package could be done to make use of pdftk at compile time.

Just please remember that no PDF encryption is really bullet-proof. Once the user can see the PDF, then he can print it and edit it. It can just require the use of other tools than the Adobe thingies.

yo'
  • 51,322
raphink
  • 31,894
  • 4
    Note that it is really recommended to use 128bit encryption (as shown here). The "normal" 40bit encryption is do to US export restrictions and is not very safe (3 days of computation power of a normal PC, I heard a ca. 8 years ago, should be done to .5 day by now). – Martin Scharrer Jul 27 '11 at 09:46
  • 5
    Yes, although in some countries it is illegal to use high-level encryption altogether. Here in France, I believe you have to give a copy of the private key to the police when you do so (although when you go to the police with your fingerprint, they think you're totally crazy to tell the truth ;-)) – raphink Jul 27 '11 at 09:50
  • It looks like you need the commercial version for $3,99 to add a password? – doncherry Jan 16 '14 at 10:11
  • @doncherry: Just tested it with Debian's pdftk package. It works great. I'm guessing you need the Pro version if you want to use the GUI for that maybe. – raphink Jan 16 '14 at 20:26