intra-mart Accel Documents プログラミングガイド 第7版 2018-04-01

セキュリティ定義の作成

概要

セキュリティ定義の作成機能について記載します。

サンプルプログラム

以下の条件でセキュリティ定義を作成するコードのサンプルです。

セキュリティ定義を作成するときの設定例

属性 設定値
タイプ セキュリティ付きPDF
名前(標準) sample security definition
名前(日本語) サンプルセキュリティ定義
名前(英語) sample security definition
名前(中国語) sample security definition
権限パスワード test
権限 印刷: 許可、変更: 許可、コピー: 許可
文書閲覧のパスワード 必要

注意

セキュリティ定義の操作は、セッションの管理者モードを有効にする必要があります。
管理者モードについては、 intra-mart Accel Documents へのアクセス を参照してください。
// セキュリティ付きPDF定義のパラメータを作成します。
KnSecurePdfCreateParameter param = new KnSecurePdfCreateParameter();

// 権限パスワードを設定します。
param.setOwnerPassword("test");

// 印刷に関する制限を設定します。
param.setPrintRestriction(KnSecurePdfPrintRestriction.ENABLE);

// 変更に関する制限を設定します。
param.setChangeRestriction(KnSecurePdfChangeRestriction.ENABLE);

// コピーに関する制限を設定します。
param.setCopyRestriction(KnSecurePdfCopyRestriction.ENABLE);

// スクリーンリーダーデバイスによるテキストアクセスに関する制限を設定します。
// コピーと同じ制限にする必要があります。
param.setTextAccessRestriction(KnSecurePdfScreenReaderDeviceTextAccessRestriction.ENABLE);

// 文書を開く際にパスワードが必要な場合、trueを設定します。
param.setRequiredOpenPassword(true);

// セキュリティ定義のパラメタを登録します。
KnSecurityDefinitionRegistParameter<?> registParam
   = new KnSecurePdfSecurityDefinitionRegistParameter(param);

// セキュリティ定義を作成します。
KnSecurityDefinitionId securityDefinitionId = session.createSecurityDefinition(registParam);

// セキュリティ定義の表示名を設定します。
String treeId = session.getSecurityDefinitionPreferenceTreeId(securityDefinitionId);
Map<Locale, String> displayNames = new HashMap<String, String>();
displayNames.put("default", "sample security definition");
displayNames.put("ja", "サンプルセキュリティ定義");
displayNames.put("en", "sample security definition");
displayNames.put("zh_CN", "sample security definition");
session.putPreferenceNode(treeId, "/kiun_repo_web/displayname", displayNames);

コラム

サンプルコード中に出現するsessionはKnSessionを表します。
KnSessionの取得/生成方法は、 intra-mart Accel Documents へのアクセス を参照してください。