CheckDocumentPolicy

Dokumentegenskaper, Efterlevnad

Beskrivning

Prövar en lista med deklarativa husregler mot dokumentet och redogör för vilka som går igenom

Syntax

Delphi

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

Parametrar

RulesEn assertion per rad på formen Group.Key op Value Tomma rader och rader som börjar med # ignoreras

Returvärden

0Inget dokument är valt, eller är regeltexten tom
IDEtt handle till en stränglista för GetStringListCount och GetStringListItem; frigör det med ReleaseStringList

Anmärkningar

Regelsubjekten pekar ut funktioner i den rapport som GetDocumentFeatureReport producerar: raden Fonts,NotEmbedded,0 på formen Group,Key,Value adresseras som Fonts.NotEmbedded Operatorerna =, !=, <, <=, >, >= och exists stöds; jämförelsen är numerisk när båda sidor går att tolka som tal, annars text utan skiftlägeskänslighet

Varje resulttrad är pass eller fail följt av regeln och det faktiska värdet, och den sista raden är summary,N passed,M failed Okända funktionsnycklar, felformade regler och operatorer som inte stöds rapporteras som misslyckanden i stället för att tyst ignoreras, så ett stavfel i en policyfil kan inte få ett dokument att se regelefterlevt ut

Det här gör en indatakontroll till ren konfiguration: utgivare, arkiv och tryckerier kan kräva fullt inbäddade teckensnitt, förbjuda kryptering, sätta sidgränser eller kräva metadata utan att skriva någon kontrollkod

Exempel

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

Se även

GetDocumentFeatureReport, CheckDocumentStructure, CheckFileCompliance