CheckDocumentPolicy

Propiedades del documento, conformidad

Descripción

Evalúa una lista de reglas declarativas internas frente al documento e informa cuáles se cumplen

Sintaxis

Delphi

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

Parámetros

RulesUna aserción por línea en la forma Group.Key op Value. Se ignoran las líneas en blanco y las líneas que comienzan con #

Valores devueltos

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

Observaciones

Los sujetos de regla se refieren al informe de características generado por GetDocumentFeatureReport: la línea Group,Key,Value Fonts,NotEmbedded,0 se trata como Fonts.NotEmbedded. Los operadores compatibles son =, !=, <, <=, >, >= y exists; la comparación es numérica cuando ambos lados se analizan como números y, de lo contrario, texto sin distinción entre mayúsculas y minúsculas

Cada línea de resultado es pass o fail seguida de la regla y el valor real, y la última línea es summary,N passed,M failed Las claves de características desconocidas, las reglas con formato incorrecto y los operadores no admitidos se informan como fallas en lugar de ignorarse en silencio, por lo que un error tipográfico en un archivo de políticas no puede hacer que un documento parezca conforme

Esto convierte una puerta de ingesta en configuración: editoriales, archivos e imprentas pueden exigir fuentes totalmente incorporadas, cifrado prohibido, límites de páginas o metadatos requeridos 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