CheckDocumentPolicy
Propriedades do documento, Conformidade
Descrição
Avalia uma lista de regras internas declarativas contra o documento e informa quais passam
Sintaxe
Delphi
Function TPDFlib.CheckDocumentPolicy(Const Rules: WideString): Integer;Parâmetros
| Rules | One assertion per line in the form Group.Key op Value. Blank lines and lines starting with # are ignored. |
|---|
Valores retornados
| 0 | Nenhum documento está selecionado, ou o texto da regra está vazio. |
|---|---|
| ID | Um handle de lista de strings para GetStringListCount e GetStringListItem; libere-o com ReleaseStringList. |
Observações
Os sujeitos das regras endereçam o relatório de recursos produzido por GetDocumentFeatureReport: a linha Group,Key,Value Fonts,NotEmbedded,0 é endereçada como Fonts.NotEmbedded. Os operators suportados são =, !=, <, <=, >, >= e exists; a comparação é numérica quando ambos os lados são interpretáveis como números, e texto sem diferenciar maiúsculas caso contrário.
Cada linha de resultado é pass ou fail seguida da regra e do valor real, e a última linha é summary,N passed,M failed. Chaves de recursos desconhecidas, regras malformadas e operators não suportados são reportados como falhas em vez de silenciosamente ignorados, de modo que um typo em um arquivo de política não pode fazer um documento parecer conforme.
Isto transforma um gate de ingestão em configuração: editoras, arquivos e gráficas podem exigir fontes totalmente embutidas, criptografia proibida, limites de páginas ou metadados obrigatórios 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);Veja também
GetDocumentFeatureReport, CheckDocumentStructure, CheckFileCompliance