Инструмент командной строки для отключения печати PDF

Кто-нибудь знает о инструменте командной строки "FREE", который может заблокировать PDF файл от пользователя, который сможет его распечатать. Мне нужно, чтобы это было в пакете, чтобы прокрутить папку и отключить печать из стандарта Adobe Reader и считывателя. Можно ли это сделать из командной строки с помощью любого инструмента?

Ответ 1

Сначала 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:

в Ответ Мартина Шредера!

Ответ 2

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