THPDFWindowsFormDataTransaction

HPDFWindowsFormData dostarcza most Windows z bieżącego grafu THotPDF do natywnego uwierzytelnionego silnika FDF/XFDF

Deklaracje

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;

Własność i polityka

Document, OriginalSource i Checkpoint są pożyczone do zniszczenia; OriginalSource musi odpowiadać dokładnie wczytanej oryginalnej rewizji dokumentu; konstruktor kopiuje i zaplambowuje prywatne oryginalne źródło, uwierzytelnia jego poświadczenia AES i przygotowuje rzeczywisty oczekujący graf w innym prywatnym źródłe

Natywny silnik sprawdza istniejącą integralność podpisów i wiązanie certyfikatu ESS, uprawnienia DocMDP, blokady FieldMDP i flagi pól tylko do odczytu; dozwolone aktualizacje P2/P3 regenerują prawdziwe wyglądy, zachowując oryginalne podpisane bajty

Wymagane kontrole zaufania, znacznika czasu i podpisanych odwołań mogą być skonfigurowane przez SetSignaturePolicyOptions; zwykła kontrola integralności nie implikuje zaufania do nieokreślonego korzenia biznesowego

ImportData przygotowuje jednego kandydata PDF i jeden osobno wczytany THotPDF; nie mutuje pożyczonego dokumentu; semantycznie niezmieniony import nadal uwierzytelnia podpisaną politykę przed skopiowaniem dokładnej bieżącej rewizji

WritePreparedPDF kopiuje ograniczone bajty kandydata do dostarczonego strumienia; opublikuj każdy wymagany callback PDF i wyniku pomyślnie przed TakeCandidate; niepowodzenie albo anulowanie oznacza porzucenie transakcji

TakeCandidate przekazuje własność zarówno THotPDF, jak i jego THPDFWindowsFormDataSource; zniszcz dokument przed zniszczeniem jego źródła; kandydat nie zachowuje tokena anulowania transakcji

THPDFWindowsFormDataSource posiada wyłącznie utworzony plik tymczasowy; Seal flushuje go i ponownie otwiera do dostępu tylko do odczytu; zniszczenie zamyka i usuwa plik; callbacki źródła nie przeżywają posiadającego źródła

ExportAnnotations i ImportAnnotations implementują zmapowaną wymianę XFDF adnotacji; ChangedAnnotations raportuje liczbę doklejonych, używając tego samego licznika przygotowanych zmian co ChangedFields

Limity

FillTypedData przygotowuje mieszane pola skalarne i oryginalne typowane runy rich w tym samym kandydacie bez round-trip dekodowania RV; akcesory przygotowanych pól czytają rzeczywistego wynikowego kandydata

ImportDataWithFamilies wybiera od jednej do szesnastu nazwanych rodzin z rzeczywistymi programami stylów i tym samym uwierzytelnionym cyklem życia kandydata; oryginalna metoda ImportData zachowuje zachowanie pojedynczej rodziny

THPDFWindowsFormDataLimits.Default ustawia MaxWorkingBytes na 256 MiB, MaxOutputBytes na 128 MiB, MaxObjects na 100000, a MaxPages na 10000; pojemność robocza musi wynosić co najmniej 1 MiB, a wszystkie inne pojemności muszą być dodatnie

CancellationToken jest pożzyczony i poprawny tylko do zniszczenia transakcji; odpytuje token operacji oryginalnego dokumentu i Checkpoint podczas natywnego parsowania, dekodowania rich XML, walidacji polityki i kopiowania

Ta klasa Windows jest dostępna dla współczesnych Delphi, C++Builder i Windows FPC; natywny Linux używa bezpośrednio THPDFHeadlessDocument

Powiązane tematy

Wymiana FDF/XFDF Windows, Przygotowanie bieżącego grafu, Natywne dane formularzy

Grafy adnotacji FDF

ExportAnnotationsFDF zwraca liczbę adnotacji i zapisuje ograniczony binarny FDF do Bytes; ImportAnnotationsFDF przygotowuje kandydata z użyciem THPDFFDFOptions

Profil FDF zachowuje dostarczone zasoby wyglądów i współdzielone obiekty pośrednie; pasujące wartości NM na tej samej stronie wybierają istniejące adnotacje do podmiany

Metody FDF używają tego samego pożyczonego własnościowania dokumentu, uwierzytelnionej polityki i cyklu życia przygotowanego kandydata; ChangedAnnotations liczy rzeczywiste podmiany i doklejenia, a równoważny import zachowuje dokładną bieżącą rewizję

Usuwanie adnotacji

RemoveAnnotations przygotowuje dokładne usuwania strona-i-NM, włącznie z zależnymi popupami i odpowiedziami, przez ten sam cykl życia kandydata; ChangedAnnotations raportuje wszystkie usunięcia raz

Publikuj dane PDF i wyniku przed TakeCandidate; niepowodzenie pozostawia pożyczony dokument i źródło niezmienione