SetOptionalContentMembership

內容串流與選用內容群組

描述

以原子方式取代成員字典的群組清單、相容性政策與選填的 PDF 1.6 可見性運算式

語法

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

參數

MembershipIDNewOptionalContentMembership 傳回的控制代碼
OptionalContentGroupIDs保留作為相容性後備的非空群組陣列
PolicyThe fallback /P policy
Expression扁平字首運算式;空陣列表示移除 /VE

傳回值

0成員關係、群組或運算式無效,既有字典未被更動
1成員關係已更新

運算式格式

The first item must be oekAnd, oekOr or oekNotoekNot requires one operand, while oekAnd and oekOr require one or more operandsEach operator is followed by exactly OperandCount prefix operands; group items use 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;備註Validation and expression construction are linear in the number of items and nesting is limited to 64 levels

出現 oekNot 時輸出版本至少 PDF 1.6;oekAnd 與 oekOr 則對較舊的閱讀器仍可用

OperandCountOperandCount = 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