|
Расшифровывает загруженный граф объектов PDF со Standard-security в памяти
Синтаксис Delphi:
procedure DecryptLoadedDocument(const Password: AnsiString);
Описание
DecryptLoadedDocument проверяет переданный пароль user или owner для PDF, уже загруженного через LoadFromFile или LoadFromStream. Поддерживает security handler'ы Standard RC4-40, RC4-128, AES-128, AES-256 и AESV4, расшифровывает загруженные строки и stream, очищает состояние шифрования и позволяет SaveLoadedDocument записать незашифрованную копию
Для документов V=4 независимые StrF и StmF дефолты разрешаются отдельно. Stream-level фильтр Crypt может переопределить StmF через парную запись DecodeParms в которой Name выбирает Identity, V2, или AESV2. После расшифровки потреблённый фильтр и его парные параметры удаляются, чтобы последующее декодирование stream начиналось со следующего заявленного фильтра
Файловые ключи из пароля, ключи per-object, контексты AES и временный plaintext явно затираются на путях успеха и исключений. Перегрузки с паролем у LoadFromFile и LoadFromStream вызывают этот метод автоматически, а неподдерживаемые ревизии шифрования выбрасывают исключение до записи вывода
Пример кода
PDF.LoadFromFile('Protected.pdf', 'user-password');
PDF.SaveLoadedDocument('Unencrypted.pdf');
|