THPDFSignatureRevisionAnalysis Record
Phân loại có tính đến policy cho mọi revision tăng dần đứng sau một chữ ký PDF
Khai báo
THPDFSignatureRevisionAnalysis= record
SignedRevisionLength: Int64;
TotalRevisionCount: Integer;
SignedRevisionIndex: Integer;
ModificationLevel: THPDFRevisionModificationLevel;
ChangeKinds: THPDFRevisionChangeKinds;
ChangedObjectCount: Integer;
FreedObjectCount: Integer;
ChangedFieldNames: THPDFAnsiStringArray;
Permissions: THPDFSignaturePermissionInfo;
DocMDPCompliant: boolean;
FieldMDPCompliant: boolean;
URCompliant: boolean;
IdentityCompliant: boolean;
TransformCompliant: boolean;
PolicyCompliant: boolean;
Revisions: THPDFSignatureRevisionChangeArray;
Issue: AnsiString;
end;
Đơn vị
HPDFDoc
Các trường
| Trường | Mục đích |
|---|---|
SignedRevisionLength | Độ dài byte của file tại thời điểm chữ ký được áp dụng |
TotalRevisionCount | Số revision tăng dần có trong file |
SignedRevisionIndex | Chỉ số tính từ 0 của revision mà chữ ký phủ |
ModificationLevel | Mức độ nghiêm trọng ngữ nghĩa cao nhất sau chữ ký, từ rmlNone đến rmlOther |
ChangeKinds | Tập các loại thay đổi cụ thể quan sát được trên các revision sau |
ChangedObjectCount | Số object bị revision sau định nghĩa lại |
FreedObjectCount | Số object bị revision sau giải phóng |
ChangedFieldNames | Số form field có giá trị bị revision sau đụng tới |
Permissions | Kết quả kiểm tra cấu trúc policy DocMDP / FieldMDP / UR của tài liệu đã ký |
DocMDPCompliant | True khi các thay đổi quan sát được nằm trong mức quyền DocMDP đã ký |
FieldMDPCompliant | True khi các thay đổi field tôn trọng policy FieldMDP đã ký |
URCompliant | True khi các giới hạn usage rights không bị vi phạm |
IdentityCompliant | True khi các kỳ vọng transform Identity (như timestamp) vẫn giữ nguyên |
TransformCompliant | True khi không có transform method nào lạ xuất hiện trong các revision sau |
PolicyCompliant | Phán quyết tổng hợp trên mọi lần kiểm tra compliance |
Revisions | Mỗi revision sau có một entry THPDFSignatureRevisionChange với danh sách object và text vấn đề riêng |
Issue | Lý do phân tích thất bại, rỗng khi thành công |
Ghi chú sử dụng
- Điền record bằng
AnalyzeLoadedSignatureRevisions; overload nhận stream là bắt buộc khi tài liệu không có file nguồn trên đĩa - Thứ tự của modification level là có chủ ý: ordinal lớn hơn không bao giờ ít khắt khe hơn, nên hãy so sánh ordinal với policy đã ký
- Tính hợp lệ mật mã vẫn thuộc trách nhiệm của
VerifyLoadedSignature; record này phân loại cái gì đã thay đổi, chứ không xác nhận các byte có verify được hay không