THotPDF.AnalyzeLoadedSignatureRevisions Method
Seçili bir imzadan sonraki her artımlı revizyonu sınıflandırır ve toplu değişiklikleri DocMDP ve FieldMDP'ye göre değerlendirir
Bildirimler
function AnalyzeLoadedSignatureRevisions(
SigIndex: Integer;
Source: TStream;
out Analysis: THPDFSignatureRevisionAnalysis
): boolean; overload;
function AnalyzeLoadedSignatureRevisions(
SigIndex: Integer;
out Analysis: THPDFSignatureRevisionAnalysis
): boolean; overload;
Birim
HPDFDoc
Parametreler
| Name | Purpose |
|---|---|
SigIndex | Yüklenen imza alanının sıfır tabanlı indeksi |
Source | Yüklenen PDF'in tam baytlarını içeren, çağıranın sahiplendiği stream |
Analysis | Revizyon, nesne, alan, izin, uyumluluk ve tanı ayrıntılarını alır |
Değişiklik türleri
THPDFRevisionChangeKinds; uzun süreli doğrulama bakımını, form doldurmayı, imzalamayı, ek açıklama oluşturma/silme/değiştirmeyi, gömülü dosya oluşturma/silme/değiştirmeyi, sayfa şablonu örneklemeyi ve tanınmayan değişiklikleri bağımsız olarak kaydeder
Tür kümesi, tek bir sıralı değişiklik düzeyinin ifade edemediği işlem ayrıntısını korur ve UR/UR3 izin eşleştirmesini yönlendirir
Dönüş değeri
İmza bayt aralığı ve revizyon zinciri analiz edildiyse True döndürür; aksi hâlde False döndürür ve nedeni Analysis.Issue içinde raporlar
Modification levels
THPDFRevisionModificationLevel; anlamsal değişiklikleri en az kısıtlayıcıdan en kısıtlayıcıya doğru sıralar
| Value | Meaning |
|---|---|
rmlNone | No post-signature object changes |
rmlLongTermValidation | DSS, VRI, sertifika, iptal, uzantı veya belge zaman damgası bakımı |
rmlFormFillAndSign | Form values, widget appearances, or signature structures |
rmlAnnotations | Annotation objects or page annotation linkage |
rmlOther | Unrecognised, unreadable, freed, or otherwise disallowed objects |
Result details
THPDFSignatureRevisionAnalysis contains a THPDFSignatureRevisionChangeArray of THPDFSignatureRevisionChange records
SignedRevisionLength,TotalRevisionCountveSignedRevisionIndex, kronolojik revizyon zinciri içindeki imzalı anlık görüntüyü tanımlarRevisions; sonraki her xref ofsetini, semantic düzeyi, değişiklik türü kümesini, değişen ve serbest bırakılan nesne numaralarını, değişen alan adlarını ve varsa temkinli sınıflandırma sorununu raporlarPermissions; en yeni nesne grafiğinde yeniden tanımlanmış olabilecek bir politika yerine, tam olarak imzalanmış revizyondan yeniden oluşturulan eksiksiz transform bilgisini içerirDocMDPCompliant,FieldMDPCompliant,URCompliantveIdentityCompliantbağımsız kararlar bildirir;TransformCompliantise tüm transform yöntemlerini yapısal geçerlilikle birleştirirPolicyCompliant, tek bir karara ihtiyaç duyan çağıranlar için nihai fail-closed sonucu olarak kalır
Kullanım notları
- Dosya tabanlı overload,
LoadFromFile'un kullandığı kaynak dosyayı açar; stream overload'ınıLoadFromStream'ten sonra kullanın - Metot döndüğünde stream konumu eski haline getirilir
- Geleneksel xref tabloları, xref stream'leri, hibrit referanslar, artımlı
/Prevzincirleri ve sıkıştırılmış object-stream üyeleri desteklenir - UR3, zorunlu bayt aralığı üzerinden katılır; kullanımdan kaldırılmış eski UR imzalarının imzalı revizyon sınırı yoktur, bu yüzden metot geçersiz olmayan nesne-özeti algoritmasını denemek yerine geçersiz veya eksik
/ByteRangebildirir - Serbest bırakılan ek açıklamalar ve gömülü dosyalar önceki nesne gövdelerinden silme semantiğini korur; bilinmeyen veya okunamayan nesneler ise
rmlOtherolarak kalır, böylece politika kontrolleri güvenli şekilde başarısız olur - Bu metot revizyon semantiğini ve izinleri değerlendirir; ama kriptografik imza doğrulamasının yerini almaz
- SaveIncrementalUpdateAuthenticated, bu analizi imza kimlik doğrulaması ve atomik yayımla birleştirir