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 до обработки запросаКлюч является конфиденциальными учетными данными, и его получение, передача и хранение должны подчиняться тем же мерам контроля, что и пароль документа