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;
O método prepara o documento atual por meio do PDFium, aplica cada par de número de objeto e visibilidade solicitado à configuração selecionada, anexa a menor revisão necessária de objetos e tabela de referência cruzada, então reabre o resultado por validação estrita antes de copiá-lo para o destino do chamador
Os arrays /ON e /OFF da configuração são gravados para todos os grupos, e os dicionários Usage de OCG existentes recebem um estado explícito para Options.Usage, porque a renderização nativa do PDFium dá a esses valores precedência sobre os arrays de configuração
O TPdfOptionalContentConfigureOptions.Default seleciona a configuração 0 e o uso View, impõe grupos de opção única e remove regras de estado automático que poderiam substituir o resultado solicitado
AllowSignedDocument=True porque alterar o conteúdo visível pode invalidar a cobertura ou a política de assinaturavar
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;