Могу ли я сбросить пароль забытого владельца с помощью iText? - PullRequest
2 голосов
/ 20 января 2010

С iText я могу использовать Java, чтобы открыть PDF-файл и написать его. Если у pdf есть пароль владельца, я все еще могу открыть его, но он не может быть записан.

Очевидно, что содержимое читабельно, кажется, что в этот момент вы можете просто записать документ в новый файл. iText не позволяет этого, он генерирует исключение неверного пароля. Есть ли способ обойти это?

Ответы [ 2 ]

3 голосов
/ 12 марта 2010

Удалив бросок BadPasswordException, я смог успешно сохранить PDF-файл с паролем владельца.

0 голосов
/ 20 января 2010

Похоже, что PDF, вероятно, зашифрован и имеет пароль владельца, но пароль пользователя не установлен. Если это так, то iText делает правильные вещи, так как пароль владельца должен быть предоставлен для того, чтобы расшифровать файл перед тем, как записать документ в новый файл (в отличие от этого, если ввести только пароль пользователя, в этом случае ничего не позволит просматривать PDF-файл и иногда выполнять над ним другие операции, такие как печать и копирование / вставка).

Большинство, если не все, хорошо зарекомендовавшие себя наборы инструментов будут соблюдать шифрование. Однако есть некоторые менее скрупулезные инструменты, которые позволяют «взламывать» пароли. Этого, как правило, лучше избегать, но такие инструменты существуют.

Другой вариант, если предположить, что права доступа к документу установлены так, что пароль пользователя позволяет печатать, - это распечатать PDF-файл в новый PDF-файл либо с помощью SDK для преобразования на основе драйвера принтера (если вы получаете много таких файлы) или просто вручную печатать (если вы получаете их только один раз в голубой луне). Печать PDF-файла в другой PDF-файл - это несколько ненормальный процесс, поскольку вам необходимо позаботиться об управлении экземплярами Acrobat, но при необходимости его можно выполнить ограниченным образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...