CheckDocumentPolicy

Propiedades del documento, Cumplimiento

Descripción

Evalúa en el documento una lista de reglas internas declarativas e indica cuáles se cumplen

Sintaxis

Delphi

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

Parámetros

RulesUna aserción por línea con el formato Group.Key op Value. Se omiten las líneas vacías y las que comienzan por #

Valores devueltos

0No hay ningún documento seleccionado o el texto de la regla está vacío
IDIdentificador de lista para GetStringListCount y GetStringListItem; libérelo con ReleaseStringList

Observaciones

Los sujetos de las reglas se dirigen al informe de características generado por GetDocumentFeatureReport: la línea Group,Key,Value Fonts,NotEmbedded,0 se aborda como Fonts.NotEmbedded. Los operadores compatibles son =, !=, <, <=, >, >= y exists; la comparación es numérica cuando ambos lados se analizan como números y, en caso contrario, es textual sin distinguir mayúsculas y minúsculas

Cada línea de resultados contiene pass o fail, seguido de la regla y el valor real, y la última línea es summary,N passed,M failed. Las claves de función desconocidas, las reglas mal formadas y los operadores no compatibles se notifican como fallos en vez de omitirse sin aviso, por lo que un error tipográfico en un archivo de directivas no puede hacer que un documento parezca conforme

Esto convierte una puerta de admisión en configuración: las editoriales, los archivos y las imprentas pueden exigir fuentes totalmente incrustadas, prohibir el cifrado, imponer límites de páginas o requerir metadatos sin escribir código de inspección

Ejemplo

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);

Véase también

GetDocumentFeatureReport, CheckDocumentStructure, CheckFileCompliance