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;
Il metodo mette in scena il documento corrente tramite PDFium, applica ogni coppia numero-oggetto e visibilità richiesta alla configurazione selezionata, aggiunge la più piccola revisione di oggetti e xref richiesta, poi riapre il risultato tramite validazione strict prima di copiarlo nella destinazione del chiamante
Gli array /ON e /OFF della configurazione vengono scritti per tutti i gruppi e i dizionari Usage OCG esistenti ricevono uno stato esplicito per Options.Usage perché il rendering nativo PDFium dà a quei valori precedenza sugli array di configurazione
TPdfOptionalContentConfigureOptions.Default seleziona la configurazione 0 e l'utilizzo View, impone i radio group e rimuove le regole di stato automatico che potrebbero sovrascrivere il risultato richiesto
AllowSignedDocument=True perché cambiare il contenuto visibile può invalidare la copertura o la policy della firmavar
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;