Metoda THotPDF.AnalyzeLoadedSignatureRevisions
Klasifikuje každou inkrementální revizi po vybraném podpisu a vyhodnocuje agregované změny vůči DocMDP a FieldMDP
Deklarace
function AnalyzeLoadedSignatureRevisions(
SigIndex: Integer;
Source: TStream;
out Analysis: THPDFSignatureRevisionAnalysis
): boolean; overload;
function AnalyzeLoadedSignatureRevisions(
SigIndex: Integer;
out Analysis: THPDFSignatureRevisionAnalysis
): boolean; overload;
Jednotka
HPDFDoc
Parametry
| Název | Účel |
|---|---|
SigIndex | Index od nuly načteného pole podpisu |
Source | Proud vlastněný volajícím obsahující přesné bajty načteného PDF |
Analysis | Přijímá detaily revize, objektů, polí, oprávnění, shody a diagnostiky |
Druhy změn
THPDFRevisionChangeKinds nezávisle eviduje údržbu dlouhodobé validace, vyplňování formulářů, podepisování, vytvoření/změnu/odstranění anotací, vytvoření/změnu/odstranění vložených souborů, konkretizaci šablon stránek i nerozpoznané změny
Sada druhů zachovává detail operace, který jediná uspořádaná úroveň úpravy vyjádřit nedokáže, a řídí porovnávání oprávnění UR/UR3
Návratová hodnota
Vrací True, když byly analyzovány bajtový rozsah podpisu a řetězec revizí, jinak vrací False a hlásí důvod v Analysis.Issue
Úrovně modifikace
THPDFRevisionModificationLevel řadí sémantické změny od nejméně po nejvíce restriktivní
| Hodnota | Význam |
|---|---|
rmlNone | Žádné změny objektů po podpisu |
rmlLongTermValidation | Údržba DSS, VRI, certifikátů, revokace, rozšíření nebo timestampu dokumentu |
rmlFormFillAndSign | Hodnoty formuláře, vzhledy widgetů nebo struktury podpisů |
rmlAnnotations | Objekty anotací nebo propojení anotací stránky |
rmlOther | Nerozpoznané, nečitelné, uvolněné nebo jinak nedovolené objekty |
Detaily výsledku
THPDFSignatureRevisionAnalysis obsahuje pole THPDFSignatureRevisionChangeArray záznamů THPDFSignatureRevisionChange
SignedRevisionLength,TotalRevisionCountaSignedRevisionIndexidentifikují podepsaný snapshot v chronologickém řetězci revizíRevisionshlásí každý pozdější offset xref, sémantickou úroveň, změněná a uvolněná čísla objektů, změněné názvy polí a případnou konzervativní klasifikační problémyPermissionsobsahuje stejné strukturální informace DocMDP a FieldMDP vracené funkcíDocMDPCompliantaFieldMDPComplianthlásí nezávislá rozhodnutí politiky, zatímcoPolicyCompliantje kombinuje se strukturální platností Zvlášť hlásí rozhodnutí iIdentityCompliant, zatímco všechny metody transformací se strukturální platností kombinujeTransformCompliant- Souhrn politiky s oprávněním propojuje
PolicyCompliant
Poznámky k použití
- Přetížení zálohované souborem otevírá zdrojový soubor použitý funkcí
LoadFromFile; použijte přetížení s proudem poLoadFromStream - Pozice proudu je obnovena před návratem metody
- Podporovány jsou tradiční tabulky xref, proudy xref, hybridní reference, inkrementální řetězce
/Preva komprimovaní členové proudu objektů - UR3 se účastní přes svůj vyžadovaný bajtový rozsah; zastaralé podpisy legacy UR nemají hranici podepsané revize, takže metoda hlásí neplatný nebo chybějící
/ByteRangemísto pokusu o zastaralý algoritmus objektového digestu - Uvolněné anotace a vložené soubory si zachovávají sémantiku smazání ze svých původních těl objektů, zatímco neznámé nebo nečitelné objekty zůstávají
rmlOther, takže kontroly politik bezpečně selžou - Tato metoda vyhodnocuje sémantiku revizí a oprávnění, ale nenahrazuje kryptografické ověření podpisu
- SaveIncrementalUpdateAuthenticated kombinuje tuto analýzu s autentizací podpisu a atomickým zveřejněním