命令行工具禁用PDF打印

时间:2012-08-15 18:41:29

标签: security pdf

有没有人知道“FREE”命令行工具可以锁定来自能够打印它的用户的pdf。我需要能够批量处理这个文件夹并从adobe标准和阅读器中禁用打印。这可以通过任何工具从命令行执行吗?

2 个答案:

答案 0 :(得分:15)

首先,pdftk

您可以使用pdftk(适用于Linux,Unix,Mac OS X和Windows)来设置“所有者密码”:

pdftk \
  input.pdf \
  output semi-protected.pdf \
  owner_pw "supersecret" 

结果就是这样,例如:

pdfinfo semi-protected.pdf | grep Encrypted:

  Encrypted:      yes (print:no copy:no change:no addNotes:no)

您可以修改命令以另外需要用户密码来打开PDF:

pdftk \
  input.pdf \
  output semi-semi-protected.pdf \
  owner_pw "supers3cr3t" \
  user_pw "s3cr3t"

您可以将命令修改为(有选择地)“允许”其他用户操作:

pdftk \
  input.pdf \
  output semi-semi-protected.pdf \
  owner_pw "supers3cr3t" \
  allow ModifyContents \
  allow CopyContents \
  allow ScreenReaders \
  allow ModifyAnnotations

结果可能是这样,例如:

pdfinfo semi-semi-protected.pdf | grep Encrypted:

  Encrypted:      yes (print:no copy:yes change:yes addNotes:yes)

其次,podofoencrypt

命令行示例:

podofoencrypt \
   --rc4v2 \
   -o "supers3cr3t" \
   -u "s3cr3t" \
   --edit \
   --copy \
   --editnotes \
   --fillandsign \
   --accessible \
   --assemble \
     input.pdf \
     semi-protected.pdf 

大而肥胖的警告:

您应该知道,这种“保护”PDF文件的方式绝不是超级安全的。有很多PDF破解软件实用程序可以轻松地保护您的PDF文件。此方法只是防止大多数noobie计算机用户弄乱文件的一种非常基本的方法。


另外,另见

第三,qpdf

<{3>}中的

答案 1 :(得分:12)

qpdf可以做到这一点:

qpdf                 \
  --encrypt          \
    "user-password"  \
    "owner-password" \
    40               \
  --print=n          \
  --                 \
    infilename       \
    outfilename

甚至

qpdf                 \
  --encrypt          \
    "user-password"  \
    "owner-password" \
    128              \
  --print=non        \
  --accessiblity=y   \
  --force-V4         \
  --modify=form      \
  --                 \
    infilename       \
    outfilename