function SaveAsOptionalContentConfigured(Stream: TStream;
const Changes: TPdfOptionalContentStateChanges;
const Options: TPdfOptionalContentConfigureOptions;
out Report: TPdfOptionalContentConfigureReport;
AllowSignedDocument: Boolean = False): Boolean; overload;
function SaveAsOptionalContentConfigured(const FileName: string;
const Changes: TPdfOptionalContentStateChanges;
const Options: TPdfOptionalContentConfigureOptions;
out Report: TPdfOptionalContentConfigureReport;
AllowSignedDocument: Boolean = False): Boolean; overload;
该方法通过 PDFium 暂存当前文档,将每个请求的对象号和可见性对应用到选定配置,追加最小的必要对象和交叉引用修订,然后通过严格验证重新打开结果,再将其复制到调用方目标
为所有组写入配置 /ON 和 /OFF 数组,现有 OCG Usage 字典为 Options.Usage 接收显式状态,因为原生 PDFium 渲染赋予这些值高于配置数组的优先级
TPdfOptionalContentConfigureOptions.Default 选择配置 0 和 View 用法,强制单选组,并移除可能覆盖请求结果的自动状态规则
AllowSignedDocument=True,因为更改可见内容可能使签名覆盖或策略失效var
Changes: TPdfOptionalContentStateChanges;
Options: TPdfOptionalContentConfigureOptions;
Report: TPdfOptionalContentConfigureReport;
begin
SetLength(Changes, 1);
Changes[0].GroupObjectNumber := 12;
Changes[0].Visible := False;
Options := TPdfOptionalContentConfigureOptions.Default;
Pdf1.SaveAsOptionalContentConfigured('C:\Layers.pdf', Changes, Options, Report);
end;