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 | 回退 /P 策略 |
| Expression | 扁平的前缀表达式,或用于移除 /VE 的空数组 |
返回值
| 0 | 成员关系、组或表达式无效,且未更改现有字典 |
|---|---|
| 1 | 成员资格已更新 |
范围与恢复
第一项必须是 oekAnd、oekOr 或 oekNot
oekNot 需要一个操作数,而 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