帳票イメージをファイル型項目に保存する

最終更新日: 2021年5月17日

設定方法

ここでは、チュートリアル「Excelファイルからアプリケーションを用意する」で用意した「顧客モデル」を使って説明します。

ファイル型項目を用意する

ファイル型項目「顧客カード」を追加します。ここに帳票イメージファイルが保存されるようにします。

顧客カード項目を追加する

「ファイル型」とします。

ファイル型の指定

この項目を一覧表示画面にも含めるようにします。

顧客カード項目を一覧画面に含める

登録・更新画面では隠し項目とします。このあと説明しますが、スクリプトを使ってこの項目にDocurainの結果(帳票データ)を自動セットします。

顧客カード項目を隠しとする

スクリプト

ここでは更新時に Docurain API を呼び出し、帳票データを生成するようにしてみます。

更新時のスクリプトを用意する

「文」ブロック群から「帳票」ブロックを選びます。

帳票ブロックの選択 (1)
帳票ブロックの選択 (2)

ワンポイント

無料トライアルでは、ジャスミンソフトが提供する「Wagbyチュートリアル用」テンプレートのみ、利用できます。(これは課金されません。帳票出力の練習としてお使いください。)

このブロックで指定できるパラメータは次のとおりです。

  • 帳票テンプレートの種類。予め Docurain にテンプレートファイルを登録しておいてください。その選択肢が表示されます。
  • 出力形式。PDF,XLSX,JPEG,PNG から選択してください。
  • 項目。この帳票データを保存するファイル型項目を選択してください。選択肢はファイル型項目のみが候補となります。
帳票ブロックの設定

出力ファイル名の接頭語を指定してください。ここでは "顧客" という固定文字列とします。実際の出力ファイルは "顧客" のあとにアンダースコアが付与され、そのあとに ID が付与されます。(例 顧客_1000.pdf)

文字列ブロック群

ここで設定した文字列が、ファイルの接頭語となります。

ファイル名の設定

ワンポイント

出力ファイル名は常に「接頭語_主キー.拡張子」となります。開発者は接頭語の部分を自由に定めることができます。"_主キー.拡張子" 部分を除くことはできません。

実行例

この顧客の帳票データを作成してみます。右上の「編集」ボタンをクリックし、更新画面に遷移します。(上で設定したスクリプトは更新画面の保存処理で、Docurain APIを呼び出すようにしています。)

顧客 詳細画面

更新画面を開きます。保存ボタンクリック時に Docurain API を呼び出し、帳票データを取得します。これをファイル型項目「顧客カード」にセットします。

Docurainトップページ

更新後、一覧表示画面に遷移します。今回のスクリプトは、顧客カードを JPEG 形式で保存しています。

JPEG形式の帳票出力

実際に出力されたファイルは次のようになっています。

出力された帳票ファイル

この帳票を出力するためのテンプレートファイルは次のとおりです。下図に示すように%{}で囲った箇所にモデル名と項目名を(ドット区切りで)指定します。この部分に実際の値が埋め込まれます。

Excelテンプレートの例

帳票テンプレートの詳細

帳票テンプレートとして利用できるExcelのバージョン

  • 帳票テンプレートとして利用できるExcelは Windows 版かつ最新版をお使いください。2021年4月時点は次のとおりです。
    • Microsoft Excel 2019 for Windows
    • Microsoft Excel for Microsoft 365 Windows Edition
  • Docurainは、MicrosoftがサポートするWindows版Excelのバージョン(2021年4月時点ではExcel 2013以降)であればサポートしていますが、最新版の利用を推奨しています。

xlsファイルとxlsxファイル

Docurainはいずれの拡張子のファイルも帳票テンプレートとして利用できますが、xlsxの方がxlsと比べて、より精度の高い(テンプレートの見た目に近い)出力結果を得られます。また出力ファイルサイズもxlsxの方が小さくなります。そのためxlsxの利用を推奨します。

プレースホルダ

帳票テンプレートとなるExcelファイルのセルに%{モデル名.項目名}と表記すると、この部分に実際の値が入ります。

注:モデル名や項目名にスペース(半角、全角)を含めることはできません。もし含める場合は別表記方法を使うことで対応できます。詳細は Docurain のマニュアルをお読みください。

テンプレートのルール

  • #if〜#else〜#endという命令を記述することができます。条件による出力判断を行います。
  • #foreachという命令を記述することができます。明細行の繰り返し出力を行います。
  • #IMAGE命令で、画像を埋め込むことができます。対応している画像フォーマットはPNG、JPEG、GIFです。TIFFはPNGへ変換されます。SVGはベクター画像またはPNGに変換されます。透過処理にも対応しているため、透かし文字を入れることもできます。
  • シェイプを扱うこともできます。
  • バーコード画像出力にも対応しています。
  • Excelで設定したチャートを、Excelはもちろん、そのままPDFや画像としても出力できます。
  • 改ページ制御は印刷範囲を指定することで行います。
  • テンプレートにブックの保護を適用することはできません。一方で、ブックに動的にパスワードを設定することが可能です。
  • テンプレートのシート保護は有効です。テンプレートがxlsxの場合、パスワードも維持されます。

詳細は Docurain のマニュアルをお読みください。(Wagby正規ユーザへは、Docurain マニュアルをお読みいただけるアカウントを発行します。)

制約

プレースホルダに利用できるのは「文字列」「数字」「日付」「時刻」「日付時刻」型の項目です。モデル参照項目は利用できません。(この制約は今後のバージョンアップで順次、解消する予定です。)

課金制御について

  • 上で説明した方法は、更新の都度、その時点の最新データで帳票ファイルを再作成しています。そのため、更新処理ごとに Docurain API を1回、呼び出します。このタイミングで課金されます。
  • 登録時のスクリプトにも同じ帳票ブロックを配置することで、登録時にも帳票ファイルを作成することができます。
  • 一度作成した帳票ファイルは Wagby 内に保存されているため、同じ帳票を何度印刷しても Docurain API を呼び出すことはありません。
  • 帳票ブロックを「もし〜ならば」ブロックで囲うことで、条件によって Docurain API を呼び出すという制御を行うことができます。例えば出力フラグがセットされた場合のみ帳票ファイルを出力することで、課金の回数を減らす工夫を行うことができます。
    帳票出力(ラジオボタン)項目の値で判定する

課金ルールの詳細はこちらをお読みください。

無料トライアル版のルール

帳票作成の代行

ジャスミンソフトでは、お客様の帳票イメージをお預かりし、帳票テンプレートを代行するサービスも承っています。詳細はお問い合わせください。