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;
Die Methode führt das aktuelle Dokument durch PDFium, wendet jedes angeforderte Objektnummer-und-Sichtbarkeit-Paar auf die gewählte Konfiguration an, hängt die kleinste erforderliche Objekt- und Querverweis-Revision an und öffnet das Ergebnis dann durch strenge Validierung erneut, bevor es an das Aufruferziel kopiert wird
Die /ON- und /OFF-Arrays der Konfiguration werden für alle Gruppen geschrieben, und vorhandene OCG-Usage-Wörterbücher erhalten einen expliziten Zustand für Options.Usage, weil natives PDFium-Rendering diesen Werten Vorrang vor den Konfigurations-Arrays einräumt
TPdfOptionalContentConfigureOptions.Default wählt Konfiguration 0 und View-Nutzung, erzwingt Radio-Gruppen und entfernt Automatik-Zustandsregeln, die das angeforderte Ergebnis überschreiben könnten
AllowSignedDocument=True, weil das Ändern sichtbarer Inhalte Signaturabdeckung oder -richtlinie ungültig machen kannvar
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;