THotPDF.AnalyzeLoadedSignatureRevisions Method
Classifies every incremental revision after a selected signature and evaluates the aggregate changes against DocMDP and FieldMDP
Declarations
function AnalyzeLoadedSignatureRevisions(
SigIndex: Integer;
Source: TStream;
out Analysis: THPDFSignatureRevisionAnalysis
): boolean; overload;
function AnalyzeLoadedSignatureRevisions(
SigIndex: Integer;
out Analysis: THPDFSignatureRevisionAnalysis
): boolean; overload;
Unit
HPDFDoc
Parameters
| Name | Purpose |
|---|---|
SigIndex | Zero-based index of the loaded signature field |
Source | Caller-owned stream containing the exact bytes of the loaded PDF |
Analysis | Receives revision, object, field, permission, compliance, and diagnostic details |
Return value
Returns True when the signature byte range and revision chain were analysed, otherwise returns False and reports the reason in Analysis.Issue
Modification levels
THPDFRevisionModificationLevel orders semantic changes from least to most restrictive
| Value | Meaning |
|---|---|
rmlNone | No post-signature object changes |
rmlLongTermValidation | DSS, VRI, certificate, revocation, extension, or document-timestamp maintenance |
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,TotalRevisionCount, andSignedRevisionIndexidentify the signed snapshot within the chronological revision chainRevisionsreports each later xref offset, semantic level, changed and freed object numbers, changed field names, and any conservative-classification issuePermissionscontains the same structural DocMDP and FieldMDP information returned byGetLoadedSignaturePermissionsDocMDPCompliantandFieldMDPCompliantreport the independent policy decisions, whilePolicyCompliantcombines them with structural validity
Usage notes
- The file-backed overload opens the source file used by
LoadFromFile; use the stream overload afterLoadFromStream - The stream position is restored before the method returns
- Traditional xref tables, xref streams, hybrid references, incremental
/Prevchains, and compressed object-stream members are supported - Unknown, unreadable, or freed objects are classified as
rmlOtherso policy checks fail safely - This method evaluates revision semantics and permissions but does not replace cryptographic signature verification