THPDFWindowsFormDataTransaction

HPDFWindowsFormData bietet eine Windows-Bridge vom aktuellen THotPDF-Graphen zur nativen authentifizierten FDF/XFDF-Engine

Deklarationen

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;

Ownership und Policy

Document, OriginalSource und Checkpoint sind bis zur Zerstörung geliehen; OriginalSource muss exakt der geladenen Originalrevision des Dokuments entsprechen; der Konstruktor kopiert und versiegelt eine private Originalquelle, authentifiziert ihre AES-Credentials und bereitet den tatsächlichen Pending-Graphen in einer anderen privaten Quelle vor

Die native Engine prüft bestehende Signaturintegrität und ESS-Zertifikatsbindung, DocMDP-Berechtigungen, FieldMDP-Locks und Feld-Read-only-Flags; erlaubte P2/P3-Updates regenerieren echte Appearances und bewahren dabei die originalen signierten Bytes

Erforderliche Trust-, Zeitstempel- und signierte Revocation-Prüfungen lassen sich mit SetSignaturePolicyOptions konfigurieren; eine gewöhnliche Integritätsprüfung impliziert kein Trust gegenüber einer unbestimmten Business-Root

ImportData bereitet ein Kandidaten-PDF und ein separat geladenes THotPDF vor; es verändert das geliehene Dokument nicht; ein semantisch unveränderter Import authentifiziert dennoch die signierte Policy, bevor die exakte aktuelle Revision kopiert wird

WritePreparedPDF kopiert begrenzte Kandidaten-Bytes in den gelieferten Stream; veröffentliche jeden erforderlichen PDF- und Result-Callback erfolgreich, bevor TakeCandidate aufgerufen wird; Fehler oder Abbruch bedeuten das Verwerfen der Transaktion

TakeCandidate überträgt das Ownership von THotPDF und seiner THPDFWindowsFormDataSource; zerstöre das Dokument, bevor du seine Quelle zerstörst; der Kandidat hält das Abbruchtoken der Transaktion nicht

THPDFWindowsFormDataSource besitzt eine exklusiv erzeugte temporäre Datei; Seal flushed sie und öffnet sie schreibgeschützt neu; die Zerstörung schließt und entfernt die Datei; Quell-Callbacks überleben die besitzende Quelle nicht

ExportAnnotations und ImportAnnotations implementieren den gemappten Annotation-XFDF-Austausch; ChangedAnnotations meldet die Append-Anzahl und nutzt denselben Prepared-Change-Zähler wie ChangedFields

Limits

FillTypedData bereitet gemischte Scalar-Felder und originale typisierte Rich-Runs im selben Kandidaten ohne RV-Decoding-Roundtrip vor; Prepared-Field-Accessoren lesen den tatsächlichen Ergebniskandidaten

ImportDataWithFamilies wählt ein bis sechzehn benannte Familien mit echten Style-Programmen und demselben authentifizierten Kandidaten-Lebenszyklus; die originale ImportData-Methode behält ihr Single-Family-Verhalten

THPDFWindowsFormDataLimits.Default setzt MaxWorkingBytes auf 256 MiB, MaxOutputBytes auf 128 MiB, MaxObjects auf 100000 und MaxPages auf 10000; die Arbeitskapazität muss mindestens 1 MiB betragen, und alle anderen Kapazitäten müssen positiv sein

CancellationToken ist geliehen und nur bis zur Zerstörung der Transaktion gültig; es pollt das Operationstoken des Originaldokuments und Checkpoint während nativem Parsing, Rich-XML-Decoding, Policy-Validierung und Kopieren

Diese Windows-Klasse steht modernem Delphi, C++Builder und Windows-FPC zur Verfügung; natives Linux nutzt THPDFHeadlessDocument direkt

Verwandte Themen

Windows-FDF/XFDF-Austausch, Vorbereitung des aktuellen Graphen, Native Form-Data

FDF-Annotation-Graphen

ExportAnnotationsFDF gibt die Annotation-Anzahl zurück und schreibt begrenztes binäres FDF in Bytes; ImportAnnotationsFDF bereitet einen Kandidaten mit THPDFFDFOptions vor

Das FDF-Profil behält gelieferte Appearance-Ressourcen und geteilte indirekte Objekte bei; übereinstimmende NM-Werte auf derselben Seite wählen vorhandene Annotationen zum Ersetzen

Die FDF-Methoden nutzen dieselbe geliehene Dokument-Eigentümerschaft, authentifizierte Policy und denselben Kandidaten-Lebenszyklus; ChangedAnnotations zählt tatsächliche Ersetzungen und Anhänge, und ein äquivalenter Import behält die exakte aktuelle Revision

Annotation-Entfernung

RemoveAnnotations bereitet exakte Seiten-und-NM-Entfernungen vor, einschließlich abhängiger Popups und Antworten, über denselben Kandidaten-Lebenszyklus; ChangedAnnotations meldet alle Entfernungen je einmal

Veröffentlichen Sie PDF- und Ergebnisdaten vor TakeCandidate; ein Fehlschlag lässt das geliehene Dokument und die Quelle unverändert