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
| MembershipID | Um handle retornado por NewOptionalContentMembership |
|---|---|
| OptionalContentGroupIDs | Um array de grupos não vazio retido como fallback de compatibilidade |
| Policy | The fallback /P policy |
| Expression | Uma expressão de prefixo plana, ou um array vazio para remover /VE |
Valores retornados
| 0 | A membership, os grupos ou a expressão eram inválidos e o dicionário existente não foi alterado |
|---|---|
| 1 | A 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