SetOptionalContentMembership

Fluxos de conteúdo e grupos de conteúdo opcionais

Descrição

Substitui atomicamente a lista de grupos, a política de compatibilidade e a expressão opcional de visibilidade do PDF 1.6 de um dicionário de membership

Sintaxe

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

Parâmetros

MembershipIDUm handle retornado por NewOptionalContentMembership
OptionalContentGroupIDsUm array de grupos não vazio retido como fallback de compatibilidade
PolicyThe fallback /P policy
ExpressionUma expressão de prefixo plana, ou um array vazio para remover /VE

Valores retornados

0A membership, os grupos ou a expressão eram inválidos e o dicionário existente não foi alterado
1A associação foi atualizada

Formato da expressão

O primeiro item deve ser oekAnd, oekOr ou oekNot

oekNot exige um operando, enquanto oekAnd e oekOr exigem um ou mais operandos

Cada operador é seguido por exatamente OperandCount operandos em prefixo; itens de grupo usam 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;

Observações

A validação e a construção da expressão são lineares no número de itens e o aninhamento é limitado a 64 níveis

Quando /VE está presente, a versão de saída é pelo menos PDF 1.6, enquanto /OCGs e /P permanecem disponíveis para leitores mais antigos

Veja também

TPDFlibOCMDExpressionItem, EnumOptionalContentMembershipExpression