THPDFWindowsFormDataTransaction
HPDFWindowsFormData levert een Windows-brug van de huidige THotPDF-graaf naar de native geauthenticeerde FDF/XFDF-engine
Declarations
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 ExportAnnotations(const Options: THPDFHeadlessXFDFOptions;
out Bytes: SysUtils.TBytes): THPDFHeadlessXFDFExportResult;
procedure ImportAnnotations(const Bytes: SysUtils.TBytes;
const Options: THPDFHeadlessXFDFOptions; const Password: AnsiString);
property ChangedAnnotations: Integer;
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;
Eigendom en beleid
Document, OriginalSource en Checkpoint zijn geleend tot destructie; OriginalSource moet exact overeenkomen met de geladen originele revisie van het document; de constructor kopieert en sealt een privé originele bron, authenticeert diens AES-credentials en bereidt de echte pending graaf in een andere privé-bron voor
De native engine checkt bestaande signature-integriteit en ESS-certificaatbinding, DocMDP-permissions, FieldMDP-locks en veld-read-only-vlaggen; toegestane P2/P3-updates regenereren echte appearances met behoud van originele signed bytes
Vereiste trust-, timestamp- en signed revocation-checks kunnen worden geconfigureerd met SetSignaturePolicyOptions; een gewone integriteitscheck impliceert geen vertrouwen in een niet-gespecificeerde business root
ImportData bereidt één candidate-PDF en één apart geladen THotPDF voor; hij muteert het geleende document niet; een semantisch ongewijzigde import authenticeert nog steeds signed policy vóór het kopiëren van de exacte huidige revisie
WritePreparedPDF kopieert begrensde candidate-bytes naar de meegeleverde stream; publiceer elke vereiste PDF- en result-callback succesvol vóór TakeCandidate; falen of annulering betekent het weggooien van de transactie
TakeCandidate draagt het eigendom van zowel de THotPDF als diens THPDFWindowsFormDataSource over; vernietig het document vóór het vernietigen van diens bron; de candidate houdt het annuleringstoken van de transactie niet vast
THPDFWindowsFormDataSource is eigenaar van een exclusief aangemaakt tijdelijk bestand; Seal flußt het en heropent het voor read-only-toegang; destructie sluit en verwijdert het bestand; bron-callbacks overleven het bezittende bronbestand niet
ExportAnnotations en ImportAnnotations implementeren mapped annotation XFDF-uitwisseling; ChangedAnnotations rapporteert het append-aantal, met dezelfde prepared-change-teller als ChangedFields
Limieten
FillTypedData bereidt gemengde scalar-velden en originele getypeerde rich-runs voor in dezelfde candidate zonder een RV-decodeer-round-trip; prepared-field-accessors lezen de echte resulterende candidate
ImportDataWithFamilies kiest één tot zestien benoemde families met echte stijlprogramma's en dezelfde geauthenticeerde candidate-levenscyclus; de originele ImportData-methode houdt diens single-family-gedrag
THPDFWindowsFormDataLimits.Default zet MaxWorkingBytes op 256 MiB, MaxOutputBytes op 128 MiB, MaxObjects op 100000 en MaxPages op 10000; working-capaciteit moet ten minste 1 MiB zijn en alle andere capaciteiten moeten positief zijn
CancellationToken is geleend en alleen geldig tot transactiedestructie; hij pollt het operation-token van het originele document en Checkpoint tijdens native parsing, rich XML-decodering, policy-validatie en kopiëren
Deze Windows-klasse is beschikbaar voor moderne Delphi, C++Builder en Windows FPC; native Linux gebruikt THPDFHeadlessDocument rechtstreeks
Related topics
Windows FDF/XFDF exchange, Current graph preparation, Native form data