サポート > リポジトリ > 入力制御 > 手書き入力

マウスまたはタブレットを用いた署名入力を行うことができます。署名は画像として管理します。

手書き入力機能を有効にすると図1のような入力欄が用意されます。

図1 手書き入力欄

マウス、もしくはタブレットで直接、指を使って描くことができます。

図2 入力途中の例

「ゴミ箱アイコン」のボタンを押下すると、これまで描いた署名がクリアされます。
「消しゴムアイコン」を押すと消去モードに移ることができます。この消しゴムアイコンはトグル式になっており、押下後にマウスの左ボタンを押下したまま線をなぞると消去されます。再度手書きを行なう場合は切り替わった鉛筆アイコンを押下します。

図3 消しゴムを使って一部を消去した例

保存すると詳細画面でも確認できます。

図4 詳細画面

モデル項目詳細ダイアログを開きます。入力制御 > 入力項目の種類で "手書き" を選択します。

図5 入力項目の種類を "手書き" とする

出力制御 > 詳細画面 > 手書きの設定で、幅と高さを指定することができます。

図6 幅と高さを指定する

署名画像の内部での扱い

画像データは base64 エンコードされたテキスト情報としてデータベースに格納されています。そのため、この設定を行った文字列項目はデータベースの型が CLOB となっています。

この署名画像を JasperReports のイメージとして利用することができます。

Jaspersoft Studio で base64 のテキストデータを表示させる場合は Image のプロパティの「Expression」に以下の設定を行なってください。

new ByteArrayInputStream(org.apache.commons.codec.binary.Base64.decodeBase64($F{signature}.getBytes()))

$F{signature} は、手書き項目のテキストデータを指します。

  • 手書き入力を設定する項目は文字列型としてください。
  • この設定を行った項目は、検索条件に指定することはできません。
  • 一覧更新画面、親子モデル同時更新画面には対応していません。
  • Excel出力で画像を埋め込むことには対応していません。
Wagby Developer Day 2018