CheckDocumentPolicy

Vlastnosti dokumentu, Shoda

Popis

Vyhodnotí seznam deklarativních pravidel pro dokument a oznámí, která prošla

Syntaxe

Delphi

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

Parametry

RulesJedno tvrzení na řádek ve tvaru Group.Key op Value. Prázdné řádky a řádky začínající # se ignorují

Návratové hodnoty

0Není vybrán žádný dokument, nebo je text pravidla prázdný
IDHandle string-list pro GetStringListCount a GetStringListItem; uvolněte ho pomocí ReleaseStringList

Poznámky

Subjekty pravidel adresují zprávu o vlastnostech vytvořenou funkcí GetDocumentFeatureReport: řádek Fonts,NotEmbedded,0 ve tvaru Group,Key,Value se adresuje jako Fonts.NotEmbedded. Podporované operátory jsou =, !=, <, <=, >, >= a exists; porovnání je číselné, když obě strany parsují jako čísla, jinak text bez rozlišení velikosti písmen

Každý výsledkový řádek je pass nebo fail následované pravidlem a skutečnou hodnotou a poslední řádek je summary,N passed,M failed. Neznámé klíče vlastností, poškozená pravidla a nepodporované operátory se hlásí jako selhání, místo aby se mlčky ignorovaly, takže překlep v souboru politiky nemůže udělat z dokumentu zdání vyhovujícího

Tím se z ingestní brány stane konfigurace: vydavatelé, archivy a tiskárny mohou vynutit plně vložená písma, zakázané šifrování, limity stránek nebo povinná metadata bez psaní kontrolního kódu

Příklad

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

Viz také

GetDocumentFeatureReport, CheckDocumentStructure, CheckFileCompliance