TPdfLifecycleActionPolicy = (lapDisabled, lapManual, lapAutomatic);
TPdfDocumentLifecycleAction = (dlaJavaScript, dlaOpen, dlaWillClose, dlaWillSave, dlaDidSave, dlaWillPrint, dlaDidPrint);
TPdfPageLifecycleAction = (plaOpen, plaClose);
property LifecycleActionPolicy: TPdfLifecycleActionPolicy; // default lapAutomatic
lapDisabled blokerer både automatisk og eksplicit udførelse af livscyklus-handlinger
lapManual undertrykker automatiske handlinger, mens de to eksplicitte udførelsesmetoder tillades
lapAutomatic bevarer den kompatible automatiske dokument-JavaScript, dokument open og close samt side open og close, mens eksplicit udførelse stadig er tilladt
Automatisk tilstand indpakker ikke save- eller print-operationer, fordi interne snapshots og konverterings-save ikke må uventet køre dokument-scripts; kald den eksplicitte dokumentmetode ved værtsstyrede arbejdsgangsgrænser
function ExecuteDocumentLifecycleAction(Action: TPdfDocumentLifecycleAction; out ErrorMessage: string): Boolean;
dlaJavaScript kører JavaScript name-tree-handlinger på dokumentniveau, og dlaOpen kører katalogets open action
dlaWillClose, dlaWillSave, dlaDidSave, dlaWillPrint og dlaDidPrint udsender den tilsvarende dokument-additional-action
Metoden returnerer False med en ikke-tom ErrorMessage, når politikken blokerer udførelsen, form fill-miljøet ikke er tilgængeligt, eller en callback udløser en exception
function ExecutePageLifecycleAction(PageNumber: Integer; Action: TPdfPageLifecycleAction; out ErrorMessage: string): Boolean;
PageNumber er en-baseret og skal identificere en side i det aktive dokument
Den aktuelle side genbruger sit indlæste native handle; en anden side åbnes midlertidigt, registreres i form-miljøet, får handlingen udsendt, afregistreres og lukkes uden at ændre TPdf.PageNumber
Fejl ved load, registrering, handling, oprydning og lukning isoleres i returværdien og ErrorMessage
var
ErrorMessage: string;
begin
Pdf.LifecycleActionPolicy := lapManual;
if not Pdf.ExecuteDocumentLifecycleAction(dlaWillSave, ErrorMessage) then
raise Exception.Create(ErrorMessage);
try
Pdf.SaveAs(TargetFileName);
finally
Pdf.ExecuteDocumentLifecycleAction(dlaDidSave, ErrorMessage);
end;
end;
Livscyklus-handlinger kan invokere dokument-JavaScript, named actions, URI-callbacks og andre værtstjenester, der er konfigureret på TPdf
Brug lapDisabled til ikke-betroede dokumenter, der aldrig må udføre handlinger, eller lapManual, når applikationen har brug for en eksplicit godkendelsesgrænse