PDFium Delphi Component Docs

Lifecycle actions

Komponent: TPdf  ·  Enhed: PDFium
Styr, hvornår PDF-dokument- og sidelivscyklus-handlinger udføres, inklusive eksplicitte save- og print-grænser

Types

TPdfLifecycleActionPolicy = (lapDisabled, lapManual, lapAutomatic);

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

TPdfPageLifecycleAction = (plaOpen, plaClose);

Execution policy

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

Document actions

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

Page actions

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

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

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

See Also

Form host callbacks, JavaScriptActions, PerformNamedAction