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

RulesOne assertion per line in the form Group.Key op Value. Blank lines and lines starting with # are ignored.

Valores retornados

0Nenhum documento está selecionado, ou o texto da regra está vazio.
IDUm 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