Método THotPDF.AnalyzeLoadedSignatureRevisions
Classifica toda revisão incremental após uma assinatura selecionada e avalia as alterações agregadas em relação a DocMDP e FieldMDP
Declarações
function AnalyzeLoadedSignatureRevisions(
SigIndex: Integer;
Source: TStream;
out Analysis: THPDFSignatureRevisionAnalysis
): boolean; overload;
function AnalyzeLoadedSignatureRevisions(
SigIndex: Integer;
out Analysis: THPDFSignatureRevisionAnalysis
): boolean; overload;
Unit
HPDFDoc
Parâmetros
| Nome | Finalidade |
|---|---|
SigIndex | Índice de base zero do campo de assinatura carregado |
Source | Stream de propriedade do chamador contendo os bytes exatos do PDF carregado |
Analysis | Recebe detalhes de revisão, objeto, campo, permissão, conformidade e diagnóstico |
Tipos de alteração
THPDFRevisionChangeKinds registra de forma independente manutenção de validação de longo prazo, preenchimento de formulários, assinatura, criação/exclusão/modificação de anotações, criação/exclusão/modificação de arquivos incorporados, instanciação de templates de página e alterações não reconhecidas
O conjunto de tipos preserva o detalhe de operação que um único nível ordenado de modificação não consegue expressar e direciona a correspondência de permissões UR/UR3
Valor de retorno
Retorna True quando o byte range da assinatura e a cadeia de revisões foram analisados; caso contrário, retorna False e relata o motivo em Analysis.Issue
Níveis de modificação
THPDFRevisionModificationLevel ordena as alterações semânticas da menos para a mais restritiva
| Valor | Meaning |
|---|---|
rmlNone | Nenhuma alteração de objeto após a assinatura |
rmlLongTermValidation | Manutenção de DSS, VRI, certificado, revogação, extension ou timestamp de documento |
rmlFormFillAndSign | Valores de formulário, appearances de widget ou estruturas de assinatura |
rmlAnnotations | Objetos de anotação ou vinculação de anotações de página |
rmlOther | Objetos não reconhecidos, ilegíveis, liberados ou de outra forma não permitidos |
Detalhes do resultado
THPDFSignatureRevisionAnalysis contém um THPDFSignatureRevisionChangeArray de registros THPDFSignatureRevisionChange
SignedRevisionLength,TotalRevisionCounteSignedRevisionIndexidentificam o snapshot assinado dentro da cadeia de revisões cronológicaRevisionsrelata cada offset de xref posterior, nível semântico, conjunto de tipos de alteração, números de objetos alterados e liberados, nomes de campos alterados e qualquer questão de classificação conservadoraPermissionscontém as informações completas de transformação reconstruídas da revisão assinada exata, em vez de uma política possivelmente redefinida no grafo de objetos mais recenteDocMDPCompliant,FieldMDPCompliant,URComplianteIdentityCompliantrelatam decisões independentes, enquantoTransformCompliantcombina todos os métodos de transformação com a validade estruturalPolicyCompliantpermanece como o resultado final fail-closed para chamadores que precisam de uma única decisão
Notas de uso
- A overload com suporte em arquivo abre o arquivo de origem usado por
LoadFromFile; use a overload de stream depois deLoadFromStream - A posição do stream é restaurada antes que o método retorne
- Tabelas de xref tradicionais, xref streams, referências híbridas, cadeias
/Previncrementais e membros comprimidos de object streams têm suporte - UR3 participa por meio do seu byte range obrigatório; assinaturas UR legadas obsoletas não têm limite de revisão assinado, então este método relata um
/ByteRangeinválido ou ausente em vez de tentar o algoritmo obsoleto de digest de objeto - Anotações liberadas e arquivos incorporados retêm a semântica de exclusão de seus corpos de objeto anteriores, enquanto objetos desconhecidos ou ilegíveis permanecem
rmlOtherpara que as verificações de política falhem com segurança - Este método avalia a semântica de revisões e as permissões, mas não substitui a verificação criptográfica de assinaturas
- SaveIncrementalUpdateAuthenticated combina esta análise com autenticação de assinatura e publicação atômica