THPDFSignatureRevisionAnalysis Record

Policy-aware classification of each incremental revision that follows a PDF signature

Declaration

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;

Unit

HPDFDoc

Fields

FieldPurpose
SignedRevisionLengthByte length of the file as it stood at the moment the signature was applied
TotalRevisionCountHow many incremental revisions are present in the file
SignedRevisionIndexZero-based index of the revision that the signature covers
ModificationLevelHighest semantic severity reached after the signature, running from rmlNone to rmlOther
ChangeKindsSet of concrete change kinds seen across the later revisions
ChangedObjectCountObjects that later revisions redefined
FreedObjectCountObjects that later revisions freed
ChangedFieldNamesForm fields whose values later revisions have touched
PermissionsStructural DocMDP / FieldMDP / UR policy inspection carried out on the signed document
DocMDPCompliantTrue where the observed changes fit the signed DocMDP permission level
FieldMDPCompliantTrue where field changes respect the signed FieldMDP policy
URCompliantTrue where no usage rights restrictions were broken
IdentityCompliantTrue where Identity-transform expectations, such as timestamps, hold
TransformCompliantTrue where no unrecognised transform method turns up in later revisions
PolicyCompliantAggregate verdict across every compliance check
RevisionsA THPDFSignatureRevisionChange entry for each later revision, with its own object lists and issue text
IssueWhy the analysis failed; empty when it succeeded

Usage notes

Related APIs