Защита и подпись PDF на Rust

В этом разделе представлено подробное руководство по работе с защищёнными PDF‑документами с использованием Aspose.PDF for Rust via C++. Описывается, как защищать PDF‑файлы паролями, управлять разрешениями доступа и безопасно открывать или разблокировать зашифрованные документы в Rust.

В статье рассматриваются типичные задачи, связанные с безопасностью PDF, включая шифрование PDF с использованием современных криптографических алгоритмов, расшифровку файлов, защищённых паролем, и управление доступом пользователей с помощью флагов разрешений. Вы также узнаете, как проверять текущие настройки разрешений и открывать защищённые документы, используя учётные данные владельца, для дальнейшей обработки.

Вы научитесь создавать PDF‑документы, применять современную криптографическую защиту с использованием шифрования на основе AES и управлять возможностями пользователей, такими как печать, редактирование содержимого и заполнение форм. В статье также показано, как открывать PDF, защищённые паролем, используя учётные данные владельца, и расшифровывать их для получения неограниченных документов, пригодных для дальнейшей обработки.

Чтобы выполнить операции Установить разрешения и Получить разрешения, пожалуйста, обратитесь к таблице справочника разрешений PDF. В ней перечислены доступные флаги разрешений, которые можно применить к PDF‑документу для контроля того, как конечные пользователи взаимодействуют с ним.

Справочник по разрешениям PDF

Разрешение Описание
Permissions::PRINT_DOCUMENT Разрешить печать
Permissions::MODIFY_CONTENT Разрешить изменение содержимого (за исключением форм/аннотаций)
Permissions::EXTRACT_CONTENT Разрешить копирование/извлечение текста и графики
Permissions::MODIFY_TEXT_ANNOTATIONS Разрешить добавление/изменение текстовых аннотаций
Permissions::FILL_FORM Разрешить заполнять интерактивные формы
Permissions::EXTRACT_CONTENT_WITH_DISABILITIES Разрешить извлечение содержимого для доступности
Permissions::ASSEMBLE_DOCUMENT Разрешить вставку/поворот/удаление страниц или изменение структуры
Permissions::PRINTING_QUALITY Разрешить высококачественную / достоверную печать