CheckDocumentPolicy

Свойства документа, Соответствие стандартам

Описание

Проверяет документ по списку декларативных внутренних правил и сообщает, какие прошли

Синтаксис

Delphi

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

Параметры

RulesOne assertion per line in the form Group.Key op Value. Blank lines and lines starting with # are ignored.

Возвращаемые значения

0Документ не выбран либо текст правила пуст
IDДескриптор списка строк для GetStringListCount и GetStringListItem; освободите его через ReleaseStringList.

Примечания

Субъекты правил адресуют отчет о возможностях, создаваемый GetDocumentFeatureReport: строка Group,Key,Value вида Fonts,NotEmbedded,0 адресуется как Fonts.NotEmbedded. Поддерживаемые операторы: =, !=, <, <=, >, >= и exists; сравнение числовое, когда обе стороны разбираются как числа, иначе текстовое без учета регистра

Каждая строка результата — pass или fail с правилом и фактическим значением, а последняя строка — summary,N passed,M failed. Неизвестные ключи возможностей, некорректные правила и неподдерживаемые операторы сообщаются как провалы, а не молча игнорируются, поэтому опечатка в файле политики не может сделать документ выглядящим соответствующим

Это превращает входной гейт в конфигурацию: издательства, архивы и типографии могут требовать полностью внедренные шрифты, запрещать шифрование, ограничивать число страниц или требовать метаданные, не написав ни строки инспекционного кода

Пример

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

См. также

GetDocumentFeatureReport, CheckDocumentStructure, CheckFileCompliance