11

有谁知道“免费”命令行工具可以锁定用户打印的 pdf。我需要能够将它放在一个批次中以循环浏览文件夹并禁用从 adobe 标准和阅读器进行打印。是否可以使用任何工具从命令行执行此操作?

4

2 回答 2

17

首先,pdftk

您可以使用pdftkfor(适用于 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

马丁施罗德的回答中!

于 2012-08-15T19:30:47.030 回答
13

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
于 2012-08-15T20:39:31.673 回答