SetOptionalContentMembership

Потоки содержимого и группы необязательного содержимого

Описание

Атомарно заменяет список групп, политику совместимости и необязательное выражение видимости PDF 1.6 в словаре членства

Синтаксис

Function TPDFlib.SetOptionalContentMembership(MembershipID: Integer; Const OptionalContentGroupIDs: Array Of Integer; Policy: TPDFlibOCMDPolicy; Const Expression: Array Of TPDFlibOCMDExpressionItem): Integer;

Параметры

MembershipIDДескриптор, возвращенный NewOptionalContentMembership
OptionalContentGroupIDsНепустой массив групп, удерживаемый как запасной вариант совместимости
PolicyThe fallback /P policy
ExpressionПлоское префиксное выражение или пустой массив для удаления /VE

Возвращаемые значения

0Недопустимы членство, группы или выражение — существующий словарь не изменён
1Членство обновлено

Формат выражения

Первый элемент должен быть oekAnd, oekOr или oekNot

Когда присутствует oekNot, версия вывода не ниже PDF 1.6, тогда как oekAnd и oekOr остаются доступны старым читателям

За каждым оператором следуют ровно OperandCount префиксных операндов; элементы групп используют OperandCount = 0

// And(GroupA, Not(GroupB))
Expression[0].Kind := oekAnd;
Expression[0].OperandCount := 2;
Expression[1].Kind := oekGroup;
Expression[1].OptionalContentGroupID := GroupA;
Expression[2].Kind := oekNot;
Expression[2].OperandCount := 1;
Expression[3].Kind := oekGroup;
Expression[3].OptionalContentGroupID := GroupB;

Примечания

Проверка и построение выражения линейны по числу элементов, а вложенность ограничена 64 уровнями

Когда присутствует /VE, выходная версия не ниже PDF 1.6, при этом /OCGs и /P остаются доступными для более старых программ просмотра

См. также

TPDFlibOCMDExpressionItem, EnumOptionalContentMembershipExpression