はじめに
Mendixで帳票作成する機能は、以下のドキュメントのように標準で提供されています。
一般的な業務アプリケーションではより精緻な帳票デザインや出力条件が求められます。この場合標準の機能で対応するには手間がかかることがあります。そこで上記ドキュメントにも代替案としてiTextの利用が提示されています。
Mendixで簡単にPDFを生成する一つの方法がとしてApp Storeの J-Repors アプリがあります。
J-Reportsアプリについて
J-Reportsアプリは JasperReports® Library を使用しており、Jaspersoft® Studio でデザインしたフォーム(オーバーレイ)を使用して帳票を編集出力することができます。帳票のデザインを分離することで、開発作業を分担して作業を効率化したり、仕様変更時の変更作業を効率化することができます。JasperReportsはPDFのレンダリングにiTextを利用しています。
Jaspersoft Studio による帳票デザイン
まず Jaspersoft® Studio で帳票のデザインを作成します。
Jaspersoft Studio の詳細は、Jaspersoft Studioで検索 してください。
帳票の定義は .jrxml という拡張子のxmlファイルになります。これをJaspersoft Studio上でビルドして .jasper という拡張子のファイルが作成されます。
J-Reportsアプリの利用
Mendix Studio Proでアプリを作成して、App Storeから J-Repors アプリを追加します。
作成したアプリで、ナビゲーションにJFConfiguration_Overview、JRConfiguration_Overviewを追加します。それぞれ、帳票の設定、帳票の出力履歴になります。
この状態で、Run Locallyボタンを押して実行し、ブラウザーを開きます。
Home から Form Configuration を選択するとJ-Reportsアプリを導入すると作成されるサンプルの帳票定義が表示されます。
ここで sample.jasper を選択して、Preview PDFボタンを押すとサンプルのPDFが生成されます。
Home から Reports を選択すると、生成した帳票の一覧が表示されます。Download または Delete で生成済の帳票をダウンロードしたり、削除することができます。
Home から Form Configuration を選択して New ボタンを押すと、新しい帳票を定義することができます。
アプリからのPDF生成
アプリでPDFを生成するにはマイクロフローを使用します。入力となるエンティティを指定すると、エンティティの項目がJasperReportsで定義した項目名にマッピングされます。
IVK_Preview_PDFマイクロフローを参考にして作成します。PDF生成の本体はgeneratePDF Javaアクションです。