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;
El método prepara el documento actual a través de PDFium, aplica cada par de número de objeto y visibilidad solicitado a la configuración seleccionada, anexa la menor revisión de objeto y referencias cruzadas requerida, y luego reabre el resultado mediante validación estricta antes de copiarlo al destino del llamador
Las matrices /ON y /OFF de configuración se escriben para todos los grupos, y los diccionarios Usage OCG existentes reciben un estado explícito para Options.Usage porque el renderizado PDFium nativo da precedencia a esos valores sobre las matrices de configuración
TPdfOptionalContentConfigureOptions.Default selecciona la configuración 0 y el uso View, impone grupos de radio y elimina las reglas de estado automático que podrían anular el resultado solicitado
AllowSignedDocument=True because changing visible content can invalidate signature coverage or policyvar
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;