CheckDocumentPolicy

Właściwości dokumentu, Zgodność

Opis

Ocenia listę deklaratywnych reguł wewnętrznych względem dokumentu i zgłasza, które z nich zostały spełnione.

Składnia

Delphi

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

Parametry

RulesJedna asercja w każdym wierszu, w postaci Group.Key op Value. Puste wiersze oraz wiersze zaczynające się od # są ignorowane.

Wartości zwracane

0Nie wybrano dokumentu albo tekst reguł jest pusty.
IDUchwyt listy ciągów dla GetStringListCount i GetStringListItem; zwolnij go za pomocą ReleaseStringList.

Uwagi

Przedmioty reguł odwołują się do raportu funkcji tworzonego przez GetDocumentFeatureReport: wiersz Group,Key,Value o treści Fonts,NotEmbedded,0 jest adresowany jako Fonts.NotEmbedded. Obsługiwane operatory to =, !=, <, <=, >, >= oraz exists; porównanie jest numeryczne, gdy obie strony można przeanalizować jako liczby, a w przeciwnym razie tekstowe bez rozróżniania wielkości liter.

Każdy wiersz wyniku zawiera pass albo fail, po czym regułę i wartość rzeczywistą, a ostatni wiersz ma postać summary,N passed,M failed. Nieznane klucze funkcji, nieprawidłowo sformułowane reguły i nieobsługiwane operatory są zgłaszane jako niepowodzenia, a nie po cichu ignorowane, dzięki czemu literówka w pliku zasad nie może sprawić, że dokument zostanie uznany za zgodny.

Pozwala to przekształcić bramkę przyjmowania danych w konfigurację: wydawcy, archiwa i drukarnie mogą wymuszać pełne osadzenie czcionek, zakaz szyfrowania, limity stron lub wymaganą metadane bez pisania kodu inspekcji.

Przykład

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

Zobacz również

GetDocumentFeatureReport, CheckDocumentStructure, CheckFileCompliance