JavaでのPDF帳票の開発と出力、難しくないですか? Excelが使えれば帳票がデザインできるシンプルなJavaライブラリ「AS-Report for Java」[PR]
Java言語で開発される業務アプリケーションの多くで、請求書や見積書などの帳票出力機能が実装されるでしょう。
最近の帳票出力の多くはPDFファイルの生成によって実装されますが、JavaでPDFファイルによる帳票を生成しようとすると、意外と手間がかかることに気がつきます。
その1つめの理由は、まず検討されるであろう主要なPDF生成用ツールの多くで、JARファイルのバージョンの依存性の解決やクラスパスの設定を慎重に行う点に注意が必要となるケースがあることです。
その上で帳票をデザインする際にも、デザインツールの使い方や設定ファイルの命令や文法を学びつつ、目的のレイアウトを完成させるために何度も試行錯誤を繰り返すことになるでしょう。
これらの手間や工数はアプリケーション開発時だけでなく、今後のツールのバージョンアップ時やレイアウトの変更時にも発生するものです。
そこで、こうした課題を解消し、依存性なく簡単に導入できて、帳票のレイアウトも誰でも簡単に作成できるツールが登場しました。アドバンスソフトウェアの新製品「AS-Report for Java」です。
1つのJarファイルだけで導入、Excelさえあれば帳票デザイン
AS-Report for Javaの大きな特徴は次の2つです。
1つ目は、製品の帳票出力に関する基本機能が1つのJarファイルに格納されており、依存性がなく導入が簡単であること。Linux環境でもWindows環境でも、クラウドでもオンプレミスでもコンテナ環境でも動作します。
2つ目は、帳票のデザインを専用の帳票デザイナを使わずに行える点です。
具体的にはExcelシート上にデザインを作成すると、そのExcelシートをJavaアプリケーションで読み込むだけでそのままのデザインで帳票を生成できます。
Excelシートの読み込みはAS-Report for Javaが提供するため、実行環境にExcelのインストールは必要ありません。

つまりJavaアプリケーション側にAS-Report for Javaを組み込んでおいて、例えば経理部門や営業部門などの実際に帳票を扱う部門に、Excelで帳票デザインの作成を依頼すれば、プログラマは帳票のデザインに試行錯誤する必要がなくなるのです。
デザイン変更時にも、Javaアプリケーションのコード変更や再コンパイルは不要です。
これによりJavaによる業務アプリケーションの環境設定から開発までを迅速に開発できるようになり、開発後の帳票のアップデートにもユーザー自身がExcelで対応できるようになるのです。

AS-Report for Javaは、開発元であるアドバンスソフトウェアが、地元のSIerからJavaで動作するExcel帳票ツールの要望を受けて開発した製品です。
前述のシンプルな導入で分かる通り、システム開発において使いやすく作られており、サンプルやヘルプも日本語で分かりやすく用意されていますし、サポートもアドバンスソフトウェアが直接行っているため、問題が発生したとしても迅速な解決が可能です。
そして後述するように企業向けの商用ソフトウェアとしてリーズナブルなライセンスと価格設定になっています。
Excelのデザインを忠実に帳票で再現
機能面をさらに見ていきましょう。AS-Report for Javaでは、Excelシートで設定したセルの幅や高さ、表示形式、配置、文字のフォントや大きさ、文字色や背景色、スタイル、罫線、網掛け、テキストボックスやオブジェクト、オートシェイプ、画像、ページの余白、ヘッダーやフッターなど、Excelで一般的に使われるデザインや修飾機能のほとんどに対応(対応する修飾機能の一覧)。
帳票のデザインを作成する場合、ときとして元となる帳票とできるだけ同じになるように何度も試行錯誤を行うことになります。
これをアプリケーションのコードを変更することなく、Excelでユーザー自身が手軽に行えることは、開発効率の大きな向上につながるでしょう。

単票も連続帳票も出力、PDFデジタル署名などに対応
AS-Report for Javaでは、PDF帳票の指定した位置に業務アプリケーションからの値を自動的に差し込んで出力することで帳票が作成されます。単票と連続帳票のいずれにも対応します。
PDFとExcelファイルへの出力が可能なほか、Webブラウザ用のビューアも用意されることで、Javaアプリケーションでのプレビューや印刷対応も実現します(注:サーバに接続されたプリンタへの直接印刷は未対応です)。

帳票上にバーコードを掲載することも可能。2 次元バーコードのQR コードをはじめ、主要な1 次元バーコード、郵便カスタマバーコードなどに対応しています。
Unicodeで定義された漢字の異体字(字形が異なる文字)を区別して表現するための仕組みである異体字シーケンス(IVS: Ideographic Variation Sequence)にも対応するため、会社名や人名などの異体字も出力可能です。
その他にも、PDF帳票を安全な電子情報として扱うために、PDFファイルの出力時にPDFデジタル署名やタイムスタンプを付加するなど多くの機能を備えています。

価格とライセンス
AS-Report for Javaが対応するJavaのバージョンは、LTS版となるJava 8/11/17/21で、間もなくLTS版となるJava 25にも対応予定。対応OSはWindows 10/11、Windows Server 2016/2019/2022/2025。
デザインを作成する際のExcelのバージョンは、Excel 2003から最新の2024まで利用可能です。
1ライセンス当たりの価格は、開発に必要な開発ライセンスは7万円(税別)で、本番環境で利用する際に必要なサーバライセンスは18万円(税別)などです。

AS-Report for Javaは、JavaアプリケーションにおけるPDF帳票の開発効率を大きく改善するツールだといえます。
(本記事はアドバンスソフトウェア提供のタイアップ記事です)