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