PDFium Delphi Component Docs

Acciones del ciclo de vida

Componente: TPdf  ·  Unidad: PDFium
Controla cuándo se ejecutan las acciones del ciclo de vida de documentos y páginas PDF, incluidos los límites explícitos de guardado e impresión

Types

TPdfLifecycleActionPolicy = (lapDisabled, lapManual, lapAutomatic);

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

TPdfPageLifecycleAction = (plaOpen, plaClose);

Execution policy

property LifecycleActionPolicy: TPdfLifecycleActionPolicy; // default lapAutomatic

lapDisabled bloquea la ejecución de acciones del ciclo de vida tanto automáticas como explícitas

lapManual suprime las acciones automáticas mientras permite los dos métodos de ejecución explícitos

lapAutomatic conserva el JavaScript automático de documentos compatible, la apertura y el cierre de documentos y la apertura y el cierre de páginas, al tiempo que sigue permitiendo la ejecución explícita

El modo automático no envuelve las operaciones de guardado ni de impresión porque las instantáneas internas y los guardados de conversión no deben ejecutar scripts de documento de forma inesperada; llame al método de documento explícito en los límites del flujo de trabajo controlados por el host

Document actions

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

dlaJavaScript ejecuta las acciones del árbol de nombres de JavaScript a nivel de documento y dlaOpen ejecuta la acción de apertura del catálogo

dlaWillClose, dlaWillSave, dlaDidSave, dlaWillPrint y dlaDidPrint distribuyen la acción adicional de documento correspondiente

El método devuelve False con un ErrorMessage no vacío cuando la política bloquea la ejecución, el entorno de llenado de formularios no está disponible o una devolución de llamada lanza una excepción

Page actions

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

PageNumber está basado en uno y debe identificar una página del documento activo

La página actual reutiliza su manejador nativo cargado; otra página se abre temporalmente, se registra en el entorno de formularios, se distribuye, se anula su registro y se cierra sin cambiar TPdf.PageNumber

Los fallos de carga, registro, acción, limpieza y cierre se aíslan en el valor devuelto y 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

Las acciones del ciclo de vida pueden invocar JavaScript de documento, acciones con nombre, devoluciones de llamada URI y otros servicios del host configurados en TPdf

Use lapDisabled para documentos que no son de confianza y que nunca deben ejecutar acciones, o lapManual cuando la aplicación necesita un límite de aprobación explícito

See Also

Devoluciones de llamada del host de formularios, JavaScriptActions, PerformNamedAction