40

I have several PDF documents which have the "no copy" and "no print" restriction bits set. Are there any free tools for removing such restrictions, on Linux?

I tried pdf2ps | ps2pdf but the size increase is horrible. The originals are fairly large too, so I'd rather use a local tool than a website.

4
4

FOSS-wise, there is PDFCrack, not sure if it does actually remove the security though, it's just a password cracker. I generally turn to some free trial software, A-PDF Restrictions Remover, it's easier to use.

It might be a lot harder if it's a recent PDF version though, I think they really increased the security recently.

2
  • Ended up buying the A-PDF tool. – user1686 Jun 22 '15 at 10:07
  • A-PDF tool wants to make changes to the computer. Why does a PDF editor need to change the machine's configuration? It is a classic violation of least privilege and is probably laced with malware. – jww Jun 7 '18 at 19:01
83

With qpdf:

$ qpdf --decrypt restricted-input.pdf unrestricted-output.pdf
5
  • 3
    qpdf works very well. There is a convenient pre-built Windows binary, which is a plus. – Li-aung Yip Mar 19 '15 at 4:04
  • This only works if you know the current password – iamkhush Sep 15 '19 at 8:33
  • 2
    @iamkhush This requires the password if the file is actually encrypted and requires a password for opening, but it removes the no-print/no-copy DRM just fine without. – kinokijuf Feb 1 '20 at 19:42
  • 1
    worked like a charm to remove copy and print restrictions. thank you! – logoff Aug 29 '20 at 21:27
  • This worked for me. Thanks! – henryjw Nov 20 '20 at 21:47
31

You can probably use pdftk. Something like

pdftk in.pdf output out.pdf allow AllFeatures

should do the job.

2
  • 3
    This would work if the password is known. – Scott McClenning Dec 13 '11 at 2:39
  • 6
    I'm probably a few years late, but the owner password does not have to be known for this, just the user password, if there's any. It warns you not to abuse the power to simply remove the owner password and the limitations altogether, but does it without further complaining. I think this should be the accepted answer. – matega Dec 10 '14 at 8:04
18

If you've got ghostscript installed try simply:

gs -sPDFPassword=$PASS -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=%stdout% -c .setpdfwrite -f locked.pdf > unlocked.pdf
3
  • 3
    +1 and found a variation online: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=unencrypted.pdf -c .setpdfwrite -f encrypted.pdf. Worked for me in a few seconds, faster than brute-forcing a password... – bufh Jul 9 '16 at 15:51
  • 1
    Side note, in my case the original file was 10 MB, after gs it was 3.7 MB. – bufh Jul 9 '16 at 16:01
  • 3
    @bufh It probably reduced the resolution. GhostScript defaults to something like 72 dpi unless you specify an alternative with something like -r<dpi> (eg. -r300). Also, make sure you pass -dSAFER. PostScript is a turing-complete programming language and, last I checked, GhostScript's default was to allow arbitrary filesystem access. – ssokolow Jan 17 '17 at 0:44

Not the answer you're looking for? Browse other questions tagged or ask your own question.