THPDFWindowsFormDataTransaction
HPDFWindowsFormData utgör en Windows-brygga från den aktuella THotPDF-grafen till den nativa autentiserade FDF/XFDF-motorn
Deklarationer
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;
Ägarskap och policy
Document, OriginalSource och Checkpoint lånas fram till destruktion; OriginalSource måste exakt motsvara dokumentets inlästa originalrevision; konstruktorn kopierar och förseglar en privat originalkälla, autentiserar dess AES-uppgifter och förbereder den faktiska väntande grafen i en annan privat källa
Den nativa motorn kontrollerar befintlig signaturintegritet och ESS-certifikatbindning, DocMDP-behörigheter, FieldMDP-lås samt skrivskyddsflaggor för fält; tillåtna P2/P3-uppdateringar återskapar genuina appearance medan ursprungliga signerade bytes behålls
Nödvändiga kontroller av förtroende, tidsstämpel och signerad spärrinformation kan konfigureras med SetSignaturePolicyOptions; en vanlig integritetskontroll innebär inte förtroende för ospecificerade affärsroter
ImportData förbereder en kandidat-PDF och en separat inläst THotPDF; den muterar inte det lånade dokumentet; en semantiskt oförändrad import autentiserar ändå signeringspolicy före kopiering av exakt aktuell revision
WritePreparedPDF kopierar begränsade kandidatbytes till den angivna strömmen; publicera varje krävd PDF- och result-callback framgångsrikt före TakeCandidate; misslyckande eller avbrott betyder att transaktionen kasseras
TakeCandidate överför ägarskapet av både THotPDF och dess THPDFWindowsFormDataSource; förstör dokumentet före dess källa; kandidaten behåller inte transaktionens avbrottstoken
THPDFWindowsFormDataSource äger en exklusivt skapad temporär fil; Seal flushar den och öppnar den igen för skrivskyddad åtkomst; destruktion stänger och tar bort filen; källans callbacks överlever inte den ägande källan
ExportAnnotations och ImportAnnotations implementerar mappad XFDF-utväxling av annoteringar; ChangedAnnotations rapporterar antalet tillagda, med samma räknare för förberedda ändringar som ChangedFields
Gränser
FillTypedData förbereder blandade skalära fält och ursprungliga typade rich-körningar i samma kandidat utan en RV-avkodningsomväg; accessorerna för förberedda fält läser den faktiska resulterande kandidaten
ImportDataWithFamilies väljer mellan en och sexton namngivna familjer med faktiska stilprogram och samma autentiserade kandidatlivscykel; den ursprungliga metoden ImportData behåller sitt beteende med en familj
THPDFWindowsFormDataLimits.Default sätter MaxWorkingBytes till 256 MiB, MaxOutputBytes till 128 MiB, MaxObjects till 100000 och MaxPages till 10000; arbetskapaciteten måste vara minst 1 MiB och alla övriga kapaciteter positiva
CancellationToken lånas och gäller bara fram till transaktionens destruktion; den pollar originaldokumentets operationstoken och Checkpoint under nativ parsning, rich XML-avkodning, policyvalidering och kopiering
Denna Windows-klass finns för modern Delphi, C++Builder och Windows FPC; nativ Linux använder THPDFHeadlessDocument direkt
Relaterade ämnen
FDF/XFDF-utväxling i Windows, Förberedelse av aktuell graf, Nativa formulärdata