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
| Rules | Jedno tvrzení na řádek ve tvaru Group.Key op Value. Prázdné řádky a řádky začínající # se ignorují |
|---|
Návratové hodnoty
| 0 | Není vybrán žádný dokument, nebo je text pravidla prázdný |
|---|---|
| ID | Handle 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