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;
Metoda przeprowadza bieżący dokument przez PDFium, stosuje każdą żądaną parę numer obiektu i widoczność do wybranej konfiguracji, dopisuje najmniejszą wymaganą rewizję obiektów i odwołań krzyżowych, a następnie ponownie otwiera wynik przez ścisłą walidację przed skopiowaniem go do celu podanego przez wywołującego
Tablice konfiguracji /ON i /OFF są zapisywane dla wszystkich grup, a istniejące słowniki Usage OCG otrzymują jawny stan dla Options.Usage, ponieważ natywne renderowanie PDFium nadaje tym wartościom pierwszeństwo przed tablicami konfiguracji
TPdfOptionalContentConfigureOptions.Default wybiera konfigurację 0 i użycie View, wymusza grupy radio i usuwa reguły stanu automatycznego, które mogłyby nadpisać żądany wynik
AllowSignedDocument=True, ponieważ zmiana widocznej treści może unieważnić pokrycie lub politykę podpisuvar
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;