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
| Rules | En assertion per rad på formen Group.Key op Value Tomma rader och rader som börjar med # ignoreras |
|---|
Returvärden
| 0 | Inget dokument är valt, eller är regeltexten tom |
|---|---|
| ID | Ett 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