PDF: Difference between revisions

From miki
Jump to navigation Jump to search
Line 15: Line 15:


* An other solution is to use ''PDF Toolkit'' <tt>pdftk</tt>. However unlike ''pdftops'' this method doesn't work when only ''user password'' is known but both passwords are set.
* An other solution is to use ''PDF Toolkit'' <tt>pdftk</tt>. However unlike ''pdftops'' this method doesn't work when only ''user password'' is known but both passwords are set.

<source lang="bash">pdftk <encrypted>.pdf input_pw <password> output <decrypted>.pdf</source>
<source lang="bash">pdftk <encrypted>.pdf input_pw <password> output <decrypted>.pdf</source>


* <tt>pdftk</tt> can also be used to generate protected documents, and specifying permissions.
* <tt>pdftk</tt> can also be used to generate protected documents, and specifying permissions (eg. ''Printing'' permission).

<source lang="bash">
<source lang="bash">
pdftk <unprotected>.pdf output <protected>.pdf allow Printing owner_pw <ownerpwd> user_pw <userpwd> #Allow HQ printing
pdftk <unprotected>.pdf output <protected>.pdf allow Printing owner_pw <ownerpwd> user_pw <userpwd> #Allow HQ printing
</source>

* <tt>[http://pages.cs.wisc.edu/~ghost/doc/cvs/Ps2pdf.htm ps2pdf]</tt> can also generate encrypted documents. But the generated document cannot be opened by ''Evince'', and also it is less convenient for specifying the right permission:
<source lang="bash">
ps2pdf -sOwnerPassword=STRING -sUserPassword=STRING -dPermissions=number <decrypted>.ps <reencrypted>.pdf
</source>
</source>

Revision as of 08:50, 17 September 2010

Remove PDF password

  • See also on Yobi
  • PDF documents may have up to 2 passwords:
    • User password: protects read access to the document, and when no Owner password is specified, also protects permission settings.
    • Owner password: protects full access to the document, and protects permission settings (printing, copying...)
  • Use pdftops (package xpdf) to remove password from a protected PDF. It works with either password, but when both passwords are set, it also works when only the user password is known (upon condition that permission allow Printing is set).
pdftops -upw <password> <encrypted>.pdf <decrypted>.ps              # To generate a PostScript file (e.g. for further editing)
read; pdftops -upw "$REPLY" <encrypted>.pdf <decrypted>.ps          # Same as above but don't store the password in command history
pdftops -upw <password> <encrypted>.pdf -|ps2pdf - <decrypted>.pdf  # To generate a new PDF
pdftops -opw <password> <encrypted>.pdf -|ps2pdf - <decrypted>.pdf  # When the Owner Password is known...
  • An other solution is to use PDF Toolkit pdftk. However unlike pdftops this method doesn't work when only user password is known but both passwords are set.
pdftk <encrypted>.pdf input_pw <password> output <decrypted>.pdf
  • pdftk can also be used to generate protected documents, and specifying permissions (eg. Printing permission).
pdftk <unprotected>.pdf output <protected>.pdf allow Printing owner_pw <ownerpwd> user_pw <userpwd>    #Allow HQ printing
  • ps2pdf can also generate encrypted documents. But the generated document cannot be opened by Evince, and also it is less convenient for specifying the right permission:
ps2pdf -sOwnerPassword=STRING -sUserPassword=STRING -dPermissions=number <decrypted>.ps <reencrypted>.pdf