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