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