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 | Непустой массив групп, удерживаемый как запасной вариант совместимости |
| Policy | The 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