THPDFWindowsFormDataTransaction

HPDFWindowsFormData aporta un bridge de Windows desde el grafo THotPDF actual al engine nativo autenticado de FDF/XFDF

Declaraciones

constructor Create(Document: THotPDF; OriginalSource: TStream;
  const Password: AnsiString; const Limits: THPDFWindowsFormDataLimits;
  Checkpoint: TNotifyEvent = nil);
procedure SetSignaturePolicyOptions(const Options: THPDFHeadlessCMSOptions);
function ExportData(Format: THPDFHeadlessFormDataFormat;
  const Options: THPDFHeadlessFormDataOptions): TBytes;
procedure ImportData(const Bytes: TBytes; Format: THPDFHeadlessFormDataFormat;
  const Fonts: THPDFHeadlessRichTextFonts;
  const AppearanceOptions: THPDFHeadlessTextAppearanceOptions;
  const Options: THPDFHeadlessFormDataOptions; const Password: AnsiString);
procedure ImportDataWithFamilies(const Bytes: TBytes;
  Format: THPDFHeadlessFormDataFormat; const Families: THPDFHeadlessRichTextFontFamilies;
  const AppearanceOptions: THPDFHeadlessTextAppearanceOptions;
  const Options: THPDFHeadlessFormDataOptions; const Password: AnsiString);
procedure FillTypedData(const Updates: THPDFHeadlessRichTextFieldUpdates;
  const Options: THPDFHeadlessFormDataOptions; const Password: AnsiString);
function PreparedFieldCount: Integer;
procedure GetPreparedField(Index: Integer; out Name, Value: UnicodeString;
  out FieldType: Integer);
procedure WritePreparedPDF(Destination: TStream);
procedure TakeCandidate(out Document: THotPDF;
  out Source: THPDFWindowsFormDataSource);
property ChangedFields: Integer;
property CancellationToken: THPDFCancellationToken;

Propiedad y política

Document, OriginalSource y Checkpoint son prestados hasta la destrucción; OriginalSource debe corresponder exactamente a la revisión original cargada del documento; el constructor copia y sella una fuente original privada, autentica sus credenciales AES y prepara el grafo pendiente real en otra fuente privada

El engine nativo comprueba la integridad de firmas existentes y el binding de certificados ESS, los permisos DocMDP, los locks FieldMDP y los flags de solo lectura de campos; las actualizaciones P2/P3 permitidas regeneran apariencias genuinas conservando los bytes firmados originales

Las comprobaciones obligatorias de confianza, timestamp y revocación firmada pueden configurarse con SetSignaturePolicyOptions; una comprobación ordinaria de integridad no implica confianza en una raíz de negocio sin especificar

ImportData prepara un PDF candidato y un THotPDF cargado por separado; no muta el documento prestado; una importación semánticamente sin cambios igualmente autentica la política firmada antes de copiar la revisión actual exacta

WritePreparedPDF copia bytes del candidato acotados al stream suministrado; publica con éxito todos los callbacks obligatorios de PDF y de resultado antes de TakeCandidate; un fallo o una cancelación significa descartar la transacción

TakeCandidate transfiere la propiedad tanto del THotPDF como de su THPDFWindowsFormDataSource; destruye el documento antes de destruir su fuente; el candidato no retiene el token de cancelación de la transacción

THPDFWindowsFormDataSource posee un fichero temporal creado en exclusiva; Seal lo volca y lo reabre para acceso de solo lectura; la destrucción lo cierra y lo elimina; los callbacks de la fuente no sobreviven a la fuente propietaria

ExportAnnotations e ImportAnnotations implementan el intercambio mapeado de anotaciones XFDF; ChangedAnnotations informa el recuento de añadidos usando el contador compartido de cambios preparados

Límites

FillTypedData prepara campos escalares mixtos y runs rich tipados originales en el mismo candidato sin un round-trip de decodificación RV; los accesores de campos preparados leen el candidato resultante real

ImportDataWithFamilies selecciona de una a dieciséis familias con nombre con programas de estilo reales y el mismo ciclo de vida autenticado de candidato; el método ImportData original conserva su comportamiento de familia única

THPDFWindowsFormDataLimits.Default fija MaxWorkingBytes en 256 MiB, MaxOutputBytes en 128 MiB, MaxObjects en 100000 y MaxPages en 10000; la capacidad de trabajo debe ser de al menos 1 MiB y todas las demás capacidades deben ser positivas

CancellationToken es prestado y solo es válido hasta la destrucción de la transacción; consulta el token de operación del documento original y Checkpoint durante el parsing nativo, la decodificación de XML rich, la validación de política y la copia

Esta clase de Windows está disponible para Delphi moderno, C++Builder y FPC en Windows; el Linux nativo usa THPDFHeadlessDocument directamente

Temas relacionados

Windows FDF/XFDF exchange, Current graph preparation, Native form data

Grafos de anotaciones FDF

ExportAnnotationsFDF devuelve el recuento de anotaciones y escribe FDF binario acotado en Bytes; ImportAnnotationsFDF prepara un candidato usando THPDFFDFOptions

El perfil FDF retiene los recursos de appearance suministrados y los objetos indirectos compartidos; los valores NM coincidentes en la misma página seleccionan anotaciones existentes para reemplazar

Los métodos FDF usan la misma propiedad de documento prestado, política autenticada y ciclo de vida de candidato preparado; ChangedAnnotations cuenta reemplazos y adiciones reales, y una importación equivalente retiene la revisión actual exacta

Eliminación de anotaciones

RemoveAnnotations prepara eliminaciones exactas de página-y-NM, incluidos popups y respuestas dependientes, a través del mismo ciclo de vida de candidato; ChangedAnnotations reporta todas las eliminaciones una vez

Publique los datos de PDF y resultado antes de TakeCandidate; el fallo deja el documento y la fuente prestados sin cambios