Это задокументировано в VectorDevices.htm, где говорится о битовом поле и направляет вас в Справочное руководство в формате PDF. Фактические значения определены Adobe.
Различные разрешения доступа описаны в Стандартном обработчике безопасности (на p121 Справочника 1.7 PDF), а отдельные биты описаны в Таблице 3.20 (p124 и 124 в Справочном руководстве 1.7 PDF).
Биты 1 и 2 (младшие 2 бита) всегда определяются как 0, так как (в настоящее время) это биты 13-32. Биты 7 и 8, к сожалению, зарезервированы и должны быть 1.
Допустим, вы хотите предоставить разрешение на печать документа, для этого вам нужно установить бит 3. Таким образом, биты 1-2 равны 0, а биты 4-32 также равны 0, биты 7 и 8 должны быть равны 1. В двоичном коде это соответствует:
00000000 00000000 00000000 11000100
В шестнадцатеричном формате 00 00 00 C4, а в десятичном - 196. Поэтому вы должны установить -dPermissions = 196
Чтобы взять более сложный пример, мы могли бы также хотеть установить бит 12, чтобы позволить высококачественную печать (для версии 3 или лучше обработчика безопасности). Теперь мы хотим установить биты 3 и 12 в двоичном виде:
00000000 00000000 00001000 11000100
в шестнадцатеричном формате 00 00 08 C4, который является десятичным 2244, поэтому вы должны установить -dPermissions = 2244
В калькуляторе Windows, установленном в режим программирования, имеется конфигурация двоичной записи. Если вы введете битовое поле в двоичном формате, а затем переключитесь на десятичное, оно преобразует его для вас. В качестве альтернативы есть онлайн-конвертер здесь .
Просто запишите биты, которые вы хотите установить в двоичном виде, установите биты 7 и 8, а затем преобразуйте в десятичную, просто!
- EDIT -
Итак, как отметил Всеволод Азовский, биты 12-32 должны быть равны 1. Используя тот же инструмент, на который я указывал выше, вы можете получить двоичное представление с двоичным знаком с десятичной дробью, которое вы можете использовать в качестве значения для Полномочий.
Однако, если вы сделаете это, то устройство Ghostscript pdfwrite выдаст предупреждение. Причина в том, что некоторые из битов, которые я установил выше (что-либо выше бита 8), совместимы только с обработчиком безопасности версии 3 (или лучше), и по умолчанию для pdfwrite используется шифрование безопасности версии 2.
Таким образом, если вы хотите использовать биты, отмеченные в документации Adobe как «редакция 3», то вам (очевидно) нужно установить редакцию на 3, используя -dEncryptionR=3
. Для этого требуется, чтобы выходной файл PDF был файлом 1.4 или более поздней версии, нельзя использовать версию 3 с файлом PDF 1.3.
Обратите внимание, что для обработчика защиты версии 2 все биты 1-2 и 7-32 должны быть равны 1.
Надеюсь, это также отвечает на вопросы в последнем комментарии.