THPDFWindowsFormDataTransaction

HPDFWindowsFormData, mevcut THotPDF grafiğinden native authenticated FDF/XFDF engine'ine bir Windows köprüsü sağlar

Bildirimler

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);
function ExportAnnotationsFDF(const Options: THPDFFDFOptions;
  out Bytes: SysUtils.TBytes): Integer;
procedure ImportAnnotationsFDF(const Bytes: SysUtils.TBytes;
  const Options: THPDFFDFOptions; const Password: AnsiString);
procedure RemoveAnnotations(
  const Identities: array of THPDFHeadlessAnnotationIdentity;
  const Options: THPDFHeadlessAnnotationRemovalOptions;
  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;

Ownership ve politika

Document, OriginalSource ve Checkpoint, yok edilmeye kadar ödünç alınır; OriginalSource, belgenin yüklenmiş orijinal revizyonuna tam olarak karşılık gelmelidir; constructor, private bir orijinal kaynak kopyalar ve mühürler, AES credential'larını doğrular ve gerçek bekleyen grafiği başka bir private kaynakta hazırlar

Native engine, mevcut signature integrity'sini ve ESS certificate binding'ini, DocMDP izinlerini, FieldMDP kilitlerini ve field read-only flag'lerini denetler; izin verilen P2/P3 güncellemeleri, orijinal imzalı baytları korurken gerçek görünümleri yeniden üretir

Zorunlu trust, timestamp ve imzalı revocation denetimleri SetSignaturePolicyOptions ile yapılandırılabilir; sıradan bir integrity check, belirtilmemiş bir işletme root'una trust ima etmez

ImportData, bir aday PDF ve ayrı olarak yüklenmiş bir THotPDF hazırlar; ödünç alınan belgeyi mutasyona uğratmaz; semantik olarak değişmemiş bir import bile, kesin mevcut revizyonu kopyalamadan önce imzalı politikayı doğrular

WritePreparedPDF, sınırlı aday baytlarını sağlanan stream'e kopyalar; TakeCandidate'ten önce her zorunlu PDF ve result callback'ini başarılı şekilde yayımlayın; başarısızlık veya cancellation, transaction'ı atmak anlamına gelir

TakeCandidate, hem THotPDF'in hem de onun THPDFWindowsFormDataSource'unun ownership'ini devreder; kaynağını yok etmeden önce belgeyi yok edin; aday, transaction'ın cancellation token'ını tutmaz

THPDFWindowsFormDataSource, münhasıran oluşturulmuş geçici bir dosyaya sahiptir; Seal onu flush eder ve read-only erişim için yeniden açar; yok etme dosyayı kapatır ve kaldırır; kaynak callback'leri, sahip kaynaktan uzun yaşamaz

ExportAnnotations ve ImportAnnotations, eşlenmiş anotasyon XFDF exchange'ini uygular; ChangedAnnotations, ChangedFields ile aynı prepared-change sayacını kullanarak eşlenmiş XFDF import'ları için append sayısını raporlar

Limitler

FillTypedData, karışık scalar field'ları ve orijinal yazılan rich run'ları aynı adayda, RV decoding round-trip'i olmadan hazırlar; prepared-field accessor'ları gerçek sonuç adayını okur

ImportDataWithFamilies, gerçek style programları ve aynı authenticated aday lifecycle'ıyla bir ile on altı arasında adlandırılmış family seçer; orijinal ImportData method'u tek-family davranışını korur

THPDFWindowsFormDataLimits.Default, MaxWorkingBytes'ı 256 MiB'ye, MaxOutputBytes'ı 128 MiB'ye, MaxObjects'ı 100000'e ve MaxPages'ı 10000'e ayarlar; working kapasitesi en az 1 MiB olmalıdır ve diğer tüm kapasiteler pozitif olmalıdır

CancellationToken ödünç alınır ve yalnızca transaction yok edilene kadar geçerlidir; native parsing, rich XML decoding, politika doğrulaması ve kopyalama sırasında orijinal belgenin operation token'ını ve Checkpoint'ini poll eder

Bu Windows class'ı modern Delphi, C++Builder ve Windows FPC için kullanılabilir; native Linux THPDFHeadlessDocument'ı doğrudan kullanır

İlgili konular

Windows FDF/XFDF exchange, Mevcut graf hazırlığı, Native form data

FDF anotasyon graf'leri

ExportAnnotationsFDF anotasyon sayısını döndürür ve sınırlı ikili FDF'i Bytes'a yazar; ImportAnnotationsFDF, THPDFFDFOptions kullanarak bir aday hazırlar

FDF profili, verilen appearance kaynaklarını ve paylaşılan indirect nesneleri korur; aynı sayfadaki eşleşen NM değerleri, değiştirilmek üzere mevcut anotasyonları seçer

FDF metotları aynı ödünç-belge ownership'ini, kimlik doğrulamalı politikayı ve hazırlanmış aday lifecycle'ını kullanır; ChangedAnnotations gerçek değiştirmeleri ve eklemeleri sayar ve eşdeğer bir import, kesin mevcut revizyonu korur

Anotasyon kaldırma

RemoveAnnotations, aynı aday lifecycle'ı üzerinden bağımlı popup ve yanıtlar dâhil kesin sayfa-ve-NM kaldırmaları hazırlar; ChangedAnnotations tüm kaldırmaları bir kez raporlar

TakeCandidate'ten önce PDF ve sonuç verisini yayınlayın; başarısızlık, ödünç alınan belgeyi ve kaynağı değişmeden bırakır