PDFium Component Docs

Akcje cyklu życia

Component: TPdf  ·  Unit: PDFium
Steruje momentem wykonania akcji cyklu życia dokumentu i stron PDF, w tym jawnymi granicami zapisu i drukowania

Types

TPdfLifecycleActionPolicy = (lapDisabled, lapManual, lapAutomatic);

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

TPdfPageLifecycleAction = (plaOpen, plaClose);

Execution policy

property LifecycleActionPolicy: TPdfLifecycleActionPolicy; // default lapAutomatic

lapDisabled blokuje zarówno automatyczne, jak i jawne wykonywanie akcji cyklu życia

lapManual wycisza akcje automatyczne, pozwalając na dwa jawne sposoby wykonania

lapAutomatic zachowuje kompatybilne automatyczne zachowanie: JavaScript dokumentu, otwarcie i zamknięcie dokumentu oraz otwarcie i zamknięcie strony, przy jednoczesnej możliwości jawnego wykonania

Tryb automatyczny nie opakowuje operacji zapisu ani drukowania, ponieważ wewnętrzne snapshoty i zapisy konwersji nie mogą nieoczekiwanie uruchamiać skryptów dokumentu; jawną metodę dokumentową wywołuj w granicach przepływu pracy kontrolowanych przez hosta

Document actions

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

dlaJavaScript uruchamia akcje dokumentowego drzewa nazw, a dlaOpen uruchamia akcję otwarcia z katalogu

dlaWillClose, dlaWillSave, dlaDidSave, dlaWillPrint i dlaDidPrint wywołują odpowiednią akcję dodatkową dokumentu

Metoda zwraca False z niepustym ErrorMessage, gdy polityka blokuje wykonanie, środowisko wypełniania formularzy jest niedostępne albo wywołanie zwrotne zgłosi wyjątek

Page actions

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

PageNumber jest liczone od 1 i musi wskazywać stronę aktywnego dokumentu

Bieżąca strona ponownie używa swojego wczytanego natywnego uchwytu; inna strona jest otwierana tymczasowo, rejestrowana w środowisku formularzy, obsługiwana, wyrejestrowywana i zamykana bez zmiany TPdf.PageNumber

Niepowodzenia ładowania, rejestracji, akcji, czyszczenia i zamykania są izolowane w wartości zwracanej i 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

Akcje cyklu życia mogą wywoływać JavaScript dokumentu, akcje nazwane, wywołania zwrotne URI i inne usługi hosta skonfigurowane na TPdf

Dla niezaufanych dokumentów, które nigdy nie mogą wykonywać akcji, używaj lapDisabled, a gdy aplikacja potrzebuje jawnej granicy zatwierdzania — lapManual

See Also

Wywołania zwrotne hosta formularzy, JavaScriptActions, PerformNamedAction