Java / Spring Bootでお使いの方へ — Docker体験版
オールインワンZIPに、この言語の3サンプルを収録しています。ZIPを展開し「はじめに.html」から言語を選んでください。各サンプルのREADMEに、Dockerでの起動・終了方法と、編集するソースの場所をまとめています。
すべての言語のDocker配布案内 → オールインワンZIPをダウンロード →Spring Bootで取得した顧客や明細を、いつものJavaコードで帳票へ。請求書のデータを組み立てたら、共通のプレビュアーへ渡しましょう。
オールインワンZIPに、この言語の3サンプルを収録しています。ZIPを展開し「はじめに.html」から言語を選んでください。各サンプルのREADMEに、Dockerでの起動・終了方法と、編集するソースの場所をまとめています。
すべての言語のDocker配布案内 → オールインワンZIPをダウンロード →補助クラスはSpring Bootから独立したモジュールです。業務の計算やDBアクセスはJava側に置いたまま、JSON形式の印刷データを作ります。PDF描画は共通のWASMが担当します。これは別製品Reports.JavaのピュアJavaエンジンとは異なる方式です。
ブラウザのデザイナーで帳票定義 .prepdj を作り、補助クラスで印刷データ .prepej にまとめます。
以下は txtTotal という項目のある帳票定義を使う例です。サンプルの補助ライブラリが必要です。
var definition = new ObjectMapper().readTree(
Path.of("invoice.prepdj").toFile());
var document = new PrintData().setDefinition(definition);
document.pageStart();
document.setValue("txtTotal", "12,345");
document.pageEnd();
String json = document.toJson();jp.pao.reports.web.PrintData、JacksonのObjectMapper、java.nio.file.Pathを使用します。
参照するソース:samples/java/report-data
Spring Bootのコントローラーから印刷データをJSONとして返し、ブラウザの共通プレビュアーに読み込ませます。サーバーでPDFを作る場合は、Javaから内部のNode.js描画サービスへ同じデータを渡します。
サンプルでは請求書のプレビューと印刷、ブラウザ/サーバーでのPDF生成、印刷データの保存・読み込みを試せます。プレビューと印刷はSVG、PDFは別の出力経路です。
印刷ダイアログはブラウザが開きます。プリンターへの無人・自動印刷を保証するものではありません。
WebAssembly(WASM)が動く仕組みを見る →