CheckDocumentPolicy

Propriedades do documento, conformidade

Descrição

Avalia uma lista de regras internas declarativas face ao documento e indica quais são satisfeitas

Sintaxe

Delphi

Function TPDFlib.CheckDocumentPolicy(Const Rules: WideString): Integer;

Parâmetros

RulesUma asserção por linha no formato Group.Key op Value. As linhas vazias e as linhas que começam por # são ignoradas

Valores devolvidos

0Não está selecionado qualquer documento ou o texto da regra está vazio
IDUm identificador de lista de cadeias para GetStringListCount e GetStringListItem; liberte-o com ReleaseStringList

Observações

Os sujeitos das regras referem-se ao relatório de funcionalidades produzido por GetDocumentFeatureReport: a linha Group,Key,Value Fonts,NotEmbedded,0 é referida como Fonts.NotEmbedded. Os operadores suportados são =, !=, <, <=, >, >= e exists; a comparação é numérica quando ambos os lados podem ser analisados como números e, caso contrário, utiliza texto sem distinção entre maiúsculas e minúsculas

Cada linha de resultados contém pass ou fail, seguido da regra e do valor efetivo, e a última linha é summary,N passed,M failed. As chaves de funcionalidades desconhecidas, regras malformadas e operadores não suportados são indicados como falhas em vez de serem silenciosamente ignorados, pelo que um erro ortográfico num ficheiro de políticas não pode fazer um documento parecer conforme

Isto transforma uma barreira de ingestão em configuração: editores, arquivos e tipografias podem impor tipos de letra totalmente incorporados, proibir encriptação, definir limites de páginas ou exigir metadados sem escrever código de inspeção

Exemplo

Rules:=
  'Fonts.NotEmbedded = 0'#13#10+
  'Security.Encrypted = no'#13#10+
  'Document.Pages <= 500'#13#10+
  'Document.Title exists';
ListID:= PDF.CheckDocumentPolicy(Rules);
Last:= PDF.GetStringListItem(ListID, PDF.GetStringListCount(ListID));
if Pos('0 failed', Last)= 0 then
  ShowMessage('document rejected by policy');
PDF.ReleaseStringList(ListID);

Consulte também

GetDocumentFeatureReport, CheckDocumentStructure, CheckFileCompliance