DAOpenFileWithEncryptionKeyA
Управление документами, функции прямого доступа, безопасность
Описание
Завершающая A обозначает точку входа DLL ANSI (char); поверхность ActiveX/COM предоставляет только форму Unicode. Поведение идентично DAOpenFileWithEncryptionKey, а строковые аргументы интерпретируются с использованием текущей кодовой страницы SetAnsiModeОткрывает зашифрованный PDF для авторизованного восстановления или исследования, принимая шестнадцатеричный ключ шифрования файла напрямую вместо вывода его из пароляФайл открывается через дескриптор с источником только для чтения и не может дополняться на месте
Синтаксис
Delphi
Function DLDAOpenFileWithEncryptionKeyA(InstanceID: Integer; InputFileName, EncryptionKeyHex: PAnsiChar; Options: Integer): Integer; Stdcall;DLL
int DLDAOpenFileWithEncryptionKeyA(int InstanceID, const char * InputFileName, const char * EncryptionKeyHex, int Options);Параметры
| InputFileName | Путь и имя зашифрованного PDF |
|---|---|
| EncryptionKeyHex | Шестнадцатеричный ключ ASCII четной длины без префикса и пробелов; редакции с 2 по 4 требуют точную длину ключа, объявленную словарем шифрования, а редакции с 5 по 7 — 32 байта |
| Options | Ноль требует доступного проверяющего значения; PDF_RAW_KEY_ALLOW_UNVERIFIED допускает в остальном корректный ключ, только когда в документе нет пригодного проверяющего значения |
Возвращаемые значения
| Non-zero | Дескриптор файла Direct Access |
|---|---|
| 0 | Входные данные не удалось открыть; проверьте LastErrorCode, в том числе PDFLIB_ERROR_RAW_ENCRYPTION_KEY_INVALID при недопустимом синтаксисе, длине, параметрах или проверке |
Примечания
Доступные значения /U редакций с 2 по 4 и значения /Perms редакций с 5 по 7 всегда проверяются; PDF_RAW_KEY_ALLOW_UNVERIFIED никогда не принимает несовпадениеПосле открытия вызовите
DAGetEncryptionKeyValidation, чтобы различать проверенные и явно непроверенные дескрипторыСтроки ANSI расширяются до Unicode с текущей кодовой страницей
SetAnsiMode до обработки запросаКлюч является конфиденциальными учетными данными, и его получение, передача и хранение должны подчиняться тем же мерам контроля, что и пароль документа