PDFium Delphi Component Docs

Akce životního cyklu

Komponenta: TPdf  ·  Jednotka: PDFium
Řídí, kdy se spouštějí akce životního cyklu dokumentu a stránek PDF, včetně explicitních hranic uložení a tisku

Typy

TPdfLifecycleActionPolicy = (lapDisabled, lapManual, lapAutomatic);

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

TPdfPageLifecycleAction = (plaOpen, plaClose);

Politika provádění

property LifecycleActionPolicy: TPdfLifecycleActionPolicy; // default lapAutomatic

lapDisabled blokuje automatické i explicitní provádění akcí životního cyklu

lapManual potlačí automatické akce a zároveň ponechá obě explicitní prováděcí metody

lapAutomatic zachová kompatibilní automatické chování dokumentového JavaScriptu, otevření a zavření dokumentu a otevření a zavření stránky a stále umožní explicitní spuštění

Automatický režim neobaluje operace uložení ani tisku, protože interní snapshoty a konverzní ukládání nesmí nečekaně spustit dokumentové skripty; explicitní dokumentovou metodu zavolejte na hranicích workflow řízených hostitelem

Akce dokumentu

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

dlaJavaScript spustí akce JavaScriptu z name-tree na úrovni dokumentu a dlaOpen spustí open akci katalogu

dlaWillClose, dlaWillSave, dlaDidSave, dlaWillPrint a dlaDidPrint rozešlou odpovídající dodatečnou akci dokumentu

Metoda vrátí False s neprázdným ErrorMessage, když politika blokuje provádění, prostředí pro plnění formulářů není dostupné, nebo zpětné volání vyvolá výjimku

Akce stránky

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

PageNumber je indexované od jedničky a musí identifikovat stránku v aktivním dokumentu

Aktuální stránka znovu použije svůj načtený nativní handle; jiná stránka se dočasně otevře, zaregistruje ve formulářovém prostředí, rozešle, odregistruje a zavře beze změny TPdf.PageNumber

Selhání načtení, registrace, akce, úklidu a zavření se izolují do návratové hodnoty a ErrorMessage

Příklad workflow uložení

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;

Zabezpečení

Akce životního cyklu můžou vyvolat dokumentový JavaScript, pojmenované akce, URI zpětná volání a další služby hostitele nakonfigurované na TPdf

Pro nedůvěryhodné dokumenty, které nesmí nikdy provést žádnou akci, použijte lapDisabled; lapManual poslouží, když aplikace potřebuje explicitní hranici schválení

Viz také

Zpětná volání hostitele formulářů, JavaScriptActions, PerformNamedAction