ActiveReportsJSのパラメータ機能を利用して入力フォーム付き帳票を作成する

JavaScript帳票ライブラリ「ActiveReportsJS(アクティブレポートJS)」には、パラメータ機能が用意されています。この機能を利用すると、ユーザーが入力した値を帳票へ反映できます。
また、標準のパラメータビューに加え、独自の入力フォーム(カスタムパラメータビュー)を実装することも可能です。

本記事では、パラメータ機能を利用した入力フォーム付き帳票の作成方法を紹介します。

ActiveReportsJSのパラメータ機能を利用して入力フォーム付き帳票を作成する

事前準備

今回はActiveReportsJSの「V6J(v6.0.1)」を使用します。事前準備として、あらかじめ製品版、またはトライアル版をインストールしてください。トライアル版は無料で以下より入手可能です。

また、今回は以下の開発環境を使用します。事前にご準備ください。

また、作成した帳票をブラウザ上に表示するため、以下のクイックスタートを参考に、ActiveReportsJSの帳票ビューワを組み込んだWebアプリケーションをあらかじめ作成してください。

下絵の準備

今回は、入力フォーム付き帳票のサンプルとして「給与所得者の扶養控除等(異動)申告書」を作成します。扶養控除等申告書は、多くの方が一度は目にしたことのある帳票ではないでしょうか。入力項目も豊富なため、入力フォーム付き帳票の作成例として採用しました。

今回は、国税庁が公開している「給与所得者の扶養控除等(異動)申告書」をもとに作成した画像を帳票の下絵として配置し、その上にテキストボックスやチェックボックスなどの帳票コントロールを配置していきます。

※ 本記事で使用している画像は、国税庁が公開している「給与所得者の扶養控除等(異動)申告書」をもとに画像化し、一部加工したものです。
出典: 給与所得者の扶養控除等(異動)申告書|国税庁
加工および利用にあたっては、国税庁ホームページ 利用規約・免責事項・著作権に基づいています。

まず以下のGitHubリポジトリで公開しているSVGファイルをダウンロードします。
※ Githubリポジトリの[Download raw file]ボタンより取得してください。

ダウンロードしたSVGファイルをブラウザで開くと、以下のような扶養控除等申告書のレイアウトが表示されます。

給与所得者の扶養控除等(異動)申告書SVG画像

今回はSVG形式の画像を使用しています。SVGはベクター形式の画像であるため、帳票ビューワで拡大表示した場合でも文字や罫線の品質を維持できます。

そのため、申告書や帳票レイアウトのように細かな文字や罫線を多く含む下絵との相性が良く、レイアウト確認や入力位置の調整を行いやすいというメリットがあります。

帳票コントロールの配置

続いて、ActiveReportsJSのデザイナにて、帳票コントロールの配置を行っていきます。ActiveReportsJSのデザイナを起動すると、デフォルトでページレポート形式でのデザイン画面が表示されます。今回は、このページレポート形式のまま帳票を作成していきます。

まずはじめに、以下の画像のオレンジ枠の様にページの帳票サイズと余白の設定を行います。

ページサイズの設定

今回は、下絵画像に合わせて次のように設定します。

ページ
プロパティ 設定値
サイズ A4
印刷の方向
29.7cm
高さ 21cm
余白のスタイル なし
余白のサイズ 0cm

イメージコントロールの配置

続いて、イメージコントロールを配置し、サイズのプロパティを設定します。

イメージコントロールの配置

次の図のように、画像プロパティよりダウンロード済みの下絵SVGファイルを設定します。

画像の設定
画像の設定

プロパティ設定は以下の通りです。

Image
プロパティ 設定値
外観 – 画像
ソース 埋め込み
furyou-koujo-form-background
MIMEの種類 image/svg+xml
位置とサイズ
0cm
0cm
29.7cm
高さ 21cm

Textコントロールの配置

続いて次の図のように、下絵にあわせてTextコントロールを配置していきます。今回は下絵の項目がかなり多いため、ヘッダ部分の配置としています。

テキストコントロールの配置

各コントロールのサイズ、位置、書式設定に関してはそれぞれ以下の表を参考に設定してください。

TextBox(位置とサイズ)
コントロール名 高さ
Text1_W1 1.1397cm 1.7591cm 2.2938cm 0.7761cm
Text2_W2 1.1397cm 2.9566cm 2.2938cm 0.7761cm
Text3_W3 5.9884cm 1.1976cm 5.6385cm 1.0239cm
Text4_W4 5.99cm 2.535cm 5.65cm 0.555cm
Text5_W5 6.0256cm 3.1548cm 5.6385cm 0.8504cm
Text6_W6 13.644cm 1.1976cm 5.2173cm 0.3301cm
Text7_W7 13.6564cm 1.5816cm 5.2173cm 0.677cm
Text8_W8 13.634cm 2.548cm 5.2cm 0.545cm
Text9_1_W9 14.9323cm 3.1548cm 0.7082cm 0.3302cm
Text9_2_W10 15.9233cm 3.1301cm 0.9312cm 0.3549cm
Text10_W11 13.5944cm 3.5051cm 8.562cm 0.5745cm
Dropdown1_W12 20.465cm 1.173cm 0.93cm 0.479cm
Text11_W13 21.59cm 1.173cm 0.566cm 0.479cm
Text12_W14 22.4888cm 1.1728cm 0.7082cm 0.4788cm
Text13_W15 23.524cm 1.1728cm 0.7082cm 0.4788cm
Text14_W16 20.4572cm 1.7426cm 4.1273cm 0.5036cm
Text15_W17 20.482cm 2.3744cm 4.1272cm 0.6274cm
Dropdown2_W18 23.3196cm 3.2292cm 1.1526cm 0.677cm
Dropdown3_W19 24.815cm 3.342cm 1.5cm 0.6cm
TextBox(書式設定)
コントロール名 プロパティ 設定値
Text6_W6 フォントサイズ 6pt
Dropdown3_W19 フォントサイズ 18pt
Text11_W13Text12_W14Text13_W15 水平方向の配置
Dropdown1_W12Dropdown2_W18Dropdown3_W19 水平方向の配置 中央
Text4_W4Text8_W8Dropdown1_W12Dropdown2_W18 背景色 White

ここまでで、帳票コントロールの配置は完了です。

パラメータの追加

つぎに、配置したテキストコントロールに文字を表示させるため、入力パラメータを追加していきます。

ActiveReportsJSでは、レポートパラメータを定義することで、実行時に入力された値を帳票へ反映できます。今回は、配置したコントロールごとに対応するパラメータを作成します。

パラメータの追加1

パラメータには、入力内容に応じてデータタイプを設定します。氏名や住所などの文字入力には文字列型(String)、チェックボックスにはBoolean型を使用します。

また、未入力の項目にも対応できるよう[空白の値を許可する]を「はい」に設定し、[既定値]には動作確認用のサンプル値を設定しています。さらに、元号や配偶者の有無のように入力内容があらかじめ決まっている項目には[使用できる値]を設定し、選択肢から入力できるようにしています。

パラメータの追加2

今回追加したパラメータは以下の通りです。

レポートパラメータ
Text1_W1
プロパティ 設定値
名前 Text1_W1
ダイアログの表示文字列 Text1
データタイプ String
空白の値を許可する はい
既定値
Text2_W2
プロパティ 設定値
名前 Text2_W2
ダイアログの表示文字列 Text2
データタイプ String
空白の値を許可する はい
既定値 港区
Text3_W3
プロパティ 設定値
名前 Text3_W3
ダイアログの表示文字列 Text3
データタイプ String
空白の値を許可する はい
既定値 サンプル株式会社
Text4_W4
プロパティ 設定値
名前 Text4_W4
ダイアログの表示文字列 Text4
データタイプ String
空白の値を許可する はい
既定値 1234567890123
Text5_W5
プロパティ 設定値
名前 Text5_W5
ダイアログの表示文字列 Text5
データタイプ String
空白の値を許可する はい
既定値 東京都港区芝公園1-1
Text6_W6
プロパティ 設定値
名前 Text6_W6
ダイアログの表示文字列 Text6
データタイプ String
空白の値を許可する はい
既定値 ヤマダ タロウ
Text7_W7
プロパティ 設定値
名前 Text7_W7
ダイアログの表示文字列 Text7
データタイプ String
空白の値を許可する はい
既定値 山田 太郎
Text8_W8
プロパティ 設定値
名前 Text8_W8
ダイアログの表示文字列 Text8
データタイプ String
空白の値を許可する はい
既定値 123456789012
Text9_1_W9
プロパティ 設定値
名前 Text9_1_W9
ダイアログの表示文字列 Text9-1
データタイプ String
空白の値を許可する はい
既定値 100
Text9_2_W10
プロパティ 設定値
名前 Text9_2_W10
ダイアログの表示文字列 Text9-2
データタイプ String
空白の値を許可する はい
既定値 0001
Text10_W11
プロパティ 設定値
名前 Text10_W11
ダイアログの表示文字列 Text10
データタイプ String
空白の値を許可する はい
既定値 東京都千代田区千代田1-1
Dropdown1_W12
プロパティ 設定値
名前 Dropdown1_W12
ダイアログの表示文字列 Dropdown1
データタイプ String
空白の値を許可する はい
使用できる値 (空白)/明/大/昭/平/令
既定値
Text11_W13
プロパティ 設定値
名前 Text11_W13
ダイアログの表示文字列 Text11
データタイプ String
空白の値を許可する はい
既定値 60
Text12_W14
プロパティ 設定値
名前 Text12_W14
ダイアログの表示文字列 Text12
データタイプ String
空白の値を許可する はい
既定値 12
Text13_W15
プロパティ 設定値
名前 Text13_W15
ダイアログの表示文字列 Text13
データタイプ String
空白の値を許可する はい
既定値 24
Text14_W16
プロパティ 設定値
名前 Text14_W16
ダイアログの表示文字列 Text14
データタイプ String
空白の値を許可する はい
既定値 山田 太郎
Text15_W17
プロパティ 設定値
名前 Text15_W17
ダイアログの表示文字列 Text15
データタイプ String
空白の値を許可する はい
既定値 本人
Dropdown2_W18
プロパティ 設定値
名前 Dropdown2_W18
ダイアログの表示文字列 Dropdown2
データタイプ String
空白の値を許可する はい
使用できる値 (空白)/有/無
既定値
Dropdown3_W19
プロパティ 設定値
名前 Dropdown3_W19
ダイアログの表示文字列 Dropdown3
データタイプ String
空白の値を許可する はい
使用できる値 (空白)/○
既定値

レポートパラメータの詳しい解説については、製品ヘルプの以下のページも参照してください。

パラメータビューの作成

続いて、入力フォームとなるパラメータビューを作成していきます。

ActiveReportsJSでは、次のように、標準のパラメータビューがレポートパラメータの一覧を縦に並べた形式で表示されます。

デフォルトパラメータビュー

これに対して、入力項目が多い帳票では、一覧形式では入力箇所が把握しづらくなります。パラメータビューをカスタマイズすることで、帳票のレイアウトに近い入力フォームを作成できます。

通常のアプリケーション開発では、帳票とは別に入力フォームを画面上に作成し、入力された値を帳票のデータとして設定する実装が必要になります。カスタムパラメータビューを利用すると、入力フォームを帳票デザイナ上で作成できるため、実装の工数を抑えつつ、帳票と入力フォームをまとめて管理できます。

今回はカスタムパラメータビューを利用して、次の図のような入力フォームを作成します。

カスタムパラメータビュー

パラメータビューのデザイン

パラメータビューをカスタマイズするには、次の動画のように、デザイナの[パラメータ]タブを開きます。パラメータビューは、ツールボックスのコントロールを配置して作成するほか、作成済みのパラメータから自動生成することもできます。

今回は[生成]ボタンをクリックし、作成済みのパラメータをもとに初期デザインを作成します。生成後、キャンバスのサイズを変更し、下絵のレイアウトに合わせて各コントロールを移動していきます。

それぞれのコントロールの配置を変更し、またデフォルトで設定されている、ラベルも必要に応じて削除します。

パラメータコントロールのラベル除去

パラメータコントロールの詳しい設定については、以下の製品ヘルプを参考にしてください。

各パラメータコントロールのプロパティは以下の通りです。

パラメータビュープロパティ表
キャンバス
プロパティ 設定値
レイアウト フリーフォーム
1460
高さ 195
Text1_W1
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text1_W1
プレースホルダ 税務署長名
ラベルの表示 なし
20
35
87
高さ 30
Text2_W2
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text2_W2
プレースホルダ 市区町村長
ラベルの表示 なし
20
67
87
高さ 30
Text3_W3
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text3_W3
プレースホルダ 給与支払い者の名称
ラベルの表示 なし
110
50
213
高さ 30
Text4_W4
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text4_W4
プレースホルダ 給与支払者の法人番号
ラベルの表示 なし
110
82
213
高さ 30
Text5_W5
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text5_W5
プレースホルダ 給与支払者の所在地
ラベルの表示 なし
110
150
213
高さ 30
Text6_W6
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text6_W6
プレースホルダ フリガナ
ラベルの表示 なし
325
18
200
高さ 30
Text7_W7
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text7_W7
プレースホルダ あなたの氏名
ラベルの表示 なし
325
50
200
高さ 30
Text8_W8
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text8_W8
プレースホルダ あなたの個人番号
ラベルの表示 なし
325
82
200
高さ 30
Text9_1_W9
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text9_1_W9
プレースホルダ 000
ラベルの表示
ラベルのテキスト 郵便番号
ラベルの幅 48%
325
115
100
高さ 30
Text9_2_W10
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text9_2_W10
プレースホルダ 0000
ラベルの表示
ラベルのテキスト
ラベルの幅 27%
430
115
75
高さ 30
Text10_W11
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text10_W11
プレースホルダ 住所
ラベルの表示 なし
325
150
324
高さ 30
Dropdown1_W12
プロパティ 設定値
コントロールの種類 ドロップダウン
パラメータ Dropdown1_W12
ラベルの表示
ラベルのテキスト 生年月日
ラベルの幅 53%
715
18
115
高さ 30
Text11_W13
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text11_W13
プレースホルダ 99
ラベルの表示
ラベルのテキスト
ラベルの幅 46%
830
18
65
高さ 30
Text12_W14
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text12_W14
プレースホルダ 99
ラベルの表示
ラベルのテキスト
ラベルの幅 46%
905
18
65
高さ 30
Text13_W15
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text13_W15
プレースホルダ 99
ラベルの表示
ラベルのテキスト
ラベルの幅 46%
980
18
65
高さ 30
Text14_W16
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text14_W16
プレースホルダ 世帯主の氏名
ラベルの表示 なし
775
50
156
高さ 30
Text15_W17
プロパティ 設定値
コントロールの種類 テキスト
パラメータ Text15_W17
プレースホルダ あなたとの続柄
ラベルの表示 なし
775
82
156
高さ 30
Dropdown2_W18
プロパティ 設定値
コントロールの種類 ドロップダウン
パラメータ Dropdown2_W18
ラベルの表示
ラベルのテキスト 配偶者の有無
ラベルの幅 51%
720
150
110
高さ 30
Dropdown3_W19
プロパティ 設定値
コントロールの種類 ドロップダウン
パラメータ Dropdown3_W19
ラベルの表示
ラベルのテキスト 従たる給与についての扶養控除等申告書の提出
ラベルの幅 82%
845
150
310
高さ 30
プレビューボタン
プロパティ 設定値
コントロールの種類 ボタン
アクション プレビュー
背景 アクセント
1245
145
200
高さ 30

各コントロールの設定が完了したら、レポートファイルを「furyou-koujo.rdlx-json」のファイル名で保存します。

動作確認

すでに実装済みの「index.html」を以下の強調表示箇所のように、作成した「furyou-koujo.rdlx-json」を呼び出すように変更します。

<!DOCTYPE html>

<html lang="ja">
  <head>
    <meta charset="utf-8" />
    <title>ActiveReportsJS Viewer</title>

    <link rel="stylesheet" href="./node_modules/@mescius/activereportsjs/styles/ar-js-ui.css" />
    <link rel="stylesheet" href="./node_modules/@mescius/activereportsjs/styles/ar-js-viewer.css" />
    <script type="text/javascript" src="./node_modules/@mescius/activereportsjs/dist/ar-js-core.js"></script>
    <script type="text/javascript" src="./node_modules/@mescius/activereportsjs/dist/ar-js-viewer.js"></script>
    <script type="text/javascript" src="./node_modules/@mescius/activereportsjs/dist/ar-js-pdf.js"></script>
    <script type="text/javascript" src="./node_modules/@mescius/activereportsjs/dist/ar-js-xlsxAdv.js"></script>
    <script type="text/javascript" src="./node_modules/@mescius/activereportsjs/dist/ar-js-html.js"></script>
    <script type="text/javascript" src="./node_modules/@mescius/activereportsjs/dist/ar-js-tabular-data.js"></script>
    <script type="text/javascript" src="./node_modules/@mescius/activereportsjs-i18n/dist/ar-js-locales.js"></script>
    <style>
      #viewer-host {
        margin: 0 auto;
        width: 100%;
        height: 100vh;
      }
    </style>
        <script>
            // トライアル版として動作させる場合、以下処理をコメントアウトしてください
            //MESCIUS.ActiveReportsJS.Core.setLicenseKey("your license key");
        </script>    
  </head>

  <body>
    <div id="viewer-host"></div>
    <script>
      var viewer = new MESCIUS.ActiveReportsJS.ReportViewer.Viewer("#viewer-host", { language: "ja" ,ParameterPanelLocation: "top"});
      viewer.open("./reports/furyou-koujo.rdlx-json");
    </script>
  </body>
</html>

次に、以下のコマンドを実行して、Webアプリケーションを起動します。

node .\server.js

WebブラウザでWebアプリケーションを開き、デフォルト値が設定されているパラメータの内容を任意の値に変更して、レポートをプレビューします。

入力した内容が、帳票に即座に反映されていることが確認できます。

「給与所得者の扶養控除等(異動)申告書」は項目数が非常に多いため、今回の記事ではすべての項目は割愛しましたが、次の動画のように、すべての項目に対応したカスタムパラメータビューの作成も可能です。

本記事で作成した、レポートファイルは以下のGithubリポジトリからダウンロード可能です。
※ Githubリポジトリの[Download raw file]ボタンより取得してください。

さいごに

今回は、ActiveReportsJSのパラメータ機能を利用して、入力フォーム付き帳票を作成する方法についてご紹介しました。パラメータを定義し、パラメータビューをカスタマイズすることで、帳票のレイアウトに近い入力フォームを実現できます。

今回題材とした扶養控除等申告書のように、入力項目が多い申請書や届出書では、標準の一覧形式では入力箇所が把握しづらくなります。パラメータビューをカスタマイズすることで、入力しやすいフォームを提供できます。ぜひ本記事を参考に、ActiveReportsJSを活用したWeb帳票開発をはじめていただけると幸いです。

本記事で使用した下絵のSVG画像やレポートファイル、Webアプリケーションのソースコードは、GitHubリポジトリで公開しています。動作確認や帳票作成の参考として、あわせてご活用ください。

ActiveReportsJSにはこの他にも日本の帳票開発のディープな要件に対応するための機能が多数搭載されていますので、ぜひWebサイトで詳しい情報をご覧ください。

Webサイトでは製品の機能を手軽に体験できるデモアプリケーションやトライアル版も公開しておりますので、こちらもご確認ください。

また、ご導入前の製品に関するご相談、ご導入後の各種サービスに関するご質問など、お気軽にお問合せください。

\  この記事をシェアする  /