Reflex iText Sample

セキュリティ (1/1)

暗号化

Reflex iTextでは、PDF文書のプロパティ情報の設定や暗号化を行うことができます。

pageタグに暗号化の指定を行います。

属性style属性内容初期値指定方法
styletitlePDF文書のタイトル(なし)文字列
styleauthorPDF文書の作成者(なし)文字列
stylesubjectPDF文書のサブタイトル(なし)文字列
stylekeywordsPDF文書のキーワード(なし)文字列
styleencryption暗号化(なし)40:「40-bit RC4」で暗号化、128:「128-bit RC4」で暗号化 パスワードおよび文書に関する制限(allowで始まる属性)を指定した場合暗号化される。このとき本項目を指定していない場合は128。
stylepassword文書を開くパスワード(PDFファイルを開く(参照する)際に入力するパスワード。)(なし)文字列または、"$"+エンティティの項目名
styleownerpassword権限パスワード(PDFファイルのセキュリティ設定を変更する際に入力するパスワード。)(なし)文字列または、"$"+エンティティの項目名
styleallowprinting印刷truetrue:印刷可、false:印刷不可
styleallowmodifycontents文書の変更truetrue:文書編集可、false:文書編集不可
styleallowassembly文書アセンブリ ページの挿入/削除/回転、しおりとサムネールの作成の可否。falsetrue:変更可、false:変更不可
styleallowcopy内容のコピーと抽出truetrue:コピー可、false:コピー不可
styleallowscreenreadersアクセシビリティのための内容の抽出 視覚に障碍を持つユーザに対して、スクリーンリーダ(読み上げ)の利用可否。truetrue:可、false:不可
styleallowmodifyannotations注釈、フォームフィールドの入力および署名falsetrue:編集可、false:編集不可
styleallowfillinフォームフィールドの入力および署名falsetrue:入力可、false:入力不可 注)文書パスワードを付けた場合のみ有効。allowmodifyannotationsが編集可(true)の場合、trueとなる。
pageタグの属性 (暗号化に関する定義)

暗号化のサンプル

  • テンプレート (encryptionsample.html)
    <?xml version="1.0" encoding="UTF-8" ?>
    <html>
    <head>
    </head>
    <body>
    
    <div class="_page" style="pagesize:HAGAKI; orientation:portrait;
     title:暗号化サンプルPDF; author:バーチャルテクノロジー; subject:PDFサブタイトル; keywords:PDFキーワード;
     password:$userpass; ownerpassword:$ownerpass;
     allowprinting:false; allowmodifycontents:false; allowassembly:true; allowcopy:false;
     allowscreenreaders:true; allowmodifyannotations:false; allowfillin:false; allowdegradedprinting:false;"
     >
        <table cellpadding="3">
            <tr>
                <td>
                    <span>暗号化サンプル文書</span>
                </td>
            </tr>
        </table>
    
    </div>
    
    </body>
    </html>
    
    
  • エンティティ (Password.java)
    package jp.reflexworks.test.model;
    
    public class Password {
    
        public String userpass = "samplepass";
        public String ownerpass = "sampleownerpass";
    
    }
    
    
  • XML (password.xml)
    <?xml version="1.0" encoding="UTF-8" ?>
    <password>
        <userpass>samplepass</userpass>
        <ownerpass>sampleownerpass</ownerpass>
    </password>
    
    
  • JSON (password.json)
    {"password" :
        {"userpass" : "samplepass",
         "ownerpass" : "sampleownerpass"
        }
    }
    
    
  • Reflex iText 実行結果
    EncryptionSample実行結果1
    EncryptionSample実行結果2
    EncryptionSample実行結果3
    EncryptionSample実行結果4
    EncryptionSample実行結果5

署名

Reflex iTextでは、PDF文書に署名を設定することができます。

署名できるキーストアの名前は".keystore"です。

pageタグに署名の指定を行います。

属性style属性内容初期値指定方法
stylecertificateデジタル署名をするかどうか(なし)属性名のみ記述
stylekeypassキーストアのパスワード(なし)文字列または、"$"+エンティティの項目名
stylealiasキーストアのエイリアス(なし)文字列または、"$"+エンティティの項目名
stylealiaspassエイリアスのパスワード(なし)文字列または、"$"+エンティティの項目名
stylesigned証明元selfself:自己署名、verisign:ベリサイン、wincer:Windows Certificate Security のいずれか
stylereason署名理由(なし)文字列
stylelocation署名位置(なし)文字列
stylevisiblesignature署名を表示するフィールド(なし)文字列 指定なしの場合不可視署名となる。指定した場合、ページが追加されてフィールドが作成される。
stylesignabsolutex, signabsolutey署名を表示するフィールドのページ内絶対座標0ページ左下を基点とし、左下角の座標を指定。
stylesignwidth署名を表示するフィールドの幅50数値
stylesignheight署名を表示するフィールドの高さ50数値
pageタグの属性 (署名に関する定義)

署名のサンプル

  • テンプレート (certificatesample.html)
    <?xml version="1.0" encoding="UTF-8" ?>
    <html>
    <head>
    </head>
    <body>
    
    <div class="_page" style="pagesize:HAGAKI; orientation:portrait;
     title:署名サンプルPDF; author:バーチャルテクノロジー; subject:PDFサブタイトル; keywords:PDFキーワード;
     certificate; keypass:$keypassword; alias:$alias; aliaspass:$aliaspassword; signed:self;
     reason:PDFデジタル署名テスト; location:東京; visiblesignature:sigform;
     signabsolutex:20; signabsolutey:100; signwidth:50; signheight:60;"
     >
        <table cellpadding="3" style="absolutex:20; absolutey:380">
            <tr>
                <td>
                    <span>署名サンプル文書</span>
                </td>
            </tr>
        </table>
    
    </div>
    
    </body>
    </html>
    
    
  • エンティティ (Keystore.java)
    package jp.reflexworks.test.model;
    
    public class Keystore {
    
        public String keypassword = "keyreflex";
        public String alias = "areflex";
        public String aliaspassword = "aliasreflex";
    
    }
    
    
  • XML (keystore.xml)
    <?xml version="1.0" encoding="UTF-8" ?>
    <keystore>
        <keypassword>
            keyreflex
        </keypassword>
        <alias>
            areflex
        </alias>
        <aliaspassword>
            aliasreflex
        </aliaspassword>
    </keystore>
    
    
  • JSON (keystore.json)
    {"keystore" :
        {"keypassword" : "keyreflex",
         "alias" : "areflex",
         "aliaspassword" : "aliasreflex"
        }
    }
    
    
  • Reflex iText 実行結果
    CertificateSample実行結果1
    CertificateSample実行結果2
    CertificateSample実行結果3

前へ << >> 次へ