PDFium Component Docs

Lifecycle-acties

Component: TPdf  ·  Unit: PDFium
Bepaal wanneer lifecycleacties van PDF-documenten en pagina's worden uitgevoerd, inclusief expliciete save- en print-grenzen

Types

TPdfLifecycleActionPolicy = (lapDisabled, lapManual, lapAutomatic);

TPdfDocumentLifecycleAction = (dlaJavaScript, dlaOpen, dlaWillClose, dlaWillSave, dlaDidSave, dlaWillPrint, dlaDidPrint);

TPdfPageLifecycleAction = (plaOpen, plaClose);

Execution policy

property LifecycleActionPolicy: TPdfLifecycleActionPolicy; // default lapAutomatic

lapDisabled blokkeert zowel automatische als expliciete uitvoering van lifecycleacties

lapManual onderdrukt automatische acties, maar staat de twee expliciete uitvoermethoden toe

lapAutomatic behoudt het compatibele automatische gedrag voor document-JavaScript, openen en sluiten van documenten en openen en sluiten van pagina's, en staat expliciete uitvoering eveneens toe

De automatische modus wikkelt save- of print-bewerkingen niet in, omdat interne momentopnamen en conversie-saves nooit onverwacht documentscripts mogen uitvoeren; roep de expliciete documentmethode aan op door de host bewaakte workflowgrenzen

Document actions

function ExecuteDocumentLifecycleAction(Action: TPdfDocumentLifecycleAction; out ErrorMessage: string): Boolean;

dlaJavaScript voert JavaScript-acties uit de name tree op documentniveau uit en dlaOpen voert de open-actie van de catalog uit

dlaWillClose, dlaWillSave, dlaDidSave, dlaWillPrint en dlaDidPrint versturen de bijbehorende document additional action

De methode geeft False terug met een niet-lege ErrorMessage wanneer het beleid uitvoering blokkeert, de form fill-omgeving niet beschikbaar is of een callback een exceptie veroorzaakt

Page actions

function ExecutePageLifecycleAction(PageNumber: Integer; Action: TPdfPageLifecycleAction; out ErrorMessage: string): Boolean;

PageNumber is 1-gebaseerd en moet een pagina in het actieve document aanduiden

De huidige pagina hergebruikt zijn geladen native handle; elke andere pagina wordt tijdelijk geopend, bij de formulieromgeving geregistreerd, afgehandeld, weer afgemeld en gesloten, zonder dat TPdf.PageNumber verandert

Fouten bij het laden, registreren, uitvoeren, opruimen en sluiten worden geïsoleerd in de retourwaarde en ErrorMessage

Save workflow example

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;

Security

Lifecycleacties kunnen document-JavaScript, named actions, URI-callbacks en andere hostservices aanroepen die op TPdf zijn geconfigureerd

Gebruik lapDisabled voor niet-vertrouwde documenten die nooit acties mogen uitvoeren, of lapManual wanneer de toepassing een expliciete goedkeuringsgrens nodig heeft

See Also

Formulier-hostcallbacks, JavaScriptActions, PerformNamedAction