CheckDocumentPolicy
ドキュメントプロパティ、コンプライアンス
説明
宣言的なハウスルールの一覧を文書に対して評価し、合格したルールを報告します
構文
Delphi
Function TPDFlib.CheckDocumentPolicy(Const Rules: WideString): Integer;パラメータ
| Rules | 1 行に 1 つ、Group.Key op Value 形式でアサーションを記述します。空行および # で始まる行は無視されます |
|---|
戻り値
| 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