Reports Web オールインワン開発セットを公開しました。購入前にお試しいただけます。
Java / Spring Boot

Javaで、
帳票作成・印刷を。

Spring Bootで取得した顧客や明細を、いつものJavaコードで帳票へ。請求書のデータを組み立てたら、共通のプレビュアーへ渡しましょう。

YOUR CODE, YOUR BUSINESS

業務のルールは、
いつものコードに。

補助クラスは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

PREVIEW, PRINT, PDF

データができたら、画面と出力へ。

Spring Bootのコントローラーから印刷データをJSONとして返し、ブラウザの共通プレビュアーに読み込ませます。サーバーでPDFを作る場合は、Javaから内部のNode.js描画サービスへ同じデータを渡します。

サンプルでは請求書のプレビューと印刷、ブラウザ/サーバーでのPDF生成、印刷データの保存・読み込みを試せます。プレビューと印刷はSVG、PDFは別の出力経路です。

印刷ダイアログはブラウザが開きます。プリンターへの無人・自動印刷を保証するものではありません。

WebAssembly(WASM)が動く仕組みを見る →

言語が変わっても、帳票の入口は同じ。