CheckDocumentPolicy

Dokumentegenskaber, Overensstemmelse

Beskrivelse

Evaluerer en liste med deklarative interne regler mod dokumentet og rapporterer, hvilke der består

Syntaks

Delphi

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

Parametre

RulesÉn assertion pr. linje i formen Group.Key op Value. Tomme linjer og linjer, der begynder med #, ignoreres.

Returværdier

0Intet dokument er valgt, eller regelteksten er tom.
IDEt strenglistehandle til GetStringListCount og GetStringListItem; frigiv det med ReleaseStringList.

Bemærkninger

Regelemner adresserer den funktionsrapport, der produceres af GetDocumentFeatureReport: Linjen Group,Key,Value Fonts,NotEmbedded,0 adresseres som Fonts.NotEmbedded. Understøttede operatorer er =, !=, <, <=, >, >= og exists; sammenligningen er numerisk, når begge sider kan fortolkes som tal, og ellers tekstbaseret uden forskel på store og små bogstaver.

Hver resultatlinje er pass eller fail efterfulgt af reglen og den faktiske værdi, og den sidste linje er summary,N passed,M failed. Ukendte funktionsnøgler, fejlformede regler og ikke-understøttede operatorer rapporteres som fejl i stedet for at blive ignoreret, så en slåfejl i en politikfil ikke kan få et dokument til at fremstå som overensstemmende

Dette gør en modtagelseskontrol til konfiguration: Udgivere, arkiver og trykkerier kan kræve fuldt integrerede skrifttyper, forbyde kryptering, angive sidegrænser eller kræve metadata uden at skrive inspektionskode.

Eksempel

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 også

GetDocumentFeatureReport, CheckDocumentStructure, CheckFileCompliance