メインコンテンツまでスキップ

v2.0 (2026-03-23)

yagisan-reportsは現在、 生成AI(Coding Agent)による帳票テンプレート生成を優先課題の一つとして取り組んでいます。

v2.0は生成AI対応に向けた機能強化や基盤整備の他、優先度の高い不具合を修正したリリースとなります。

破壊的変更

XML Schemaの改定

帳票テンプレートの機能強化に追従してXML Schemaが改定されました。 以下のURLがv2.0に対応した最新となります。

旧スキーマのURLも引き続き使用可能ですが、v2.0で追加された仕様には対応していないため、可能な限り最新版を使用することを推奨します。

機能強化

<Divider> 要素の追加

水平線(区切り線)を描画する <Divider> 要素を追加しました。 HTMLにおける <hr> 要素に相当するものになります。

背景としては、Coding Agentに帳票テンプレート生成を任せると <Rectangle> 要素を使って水平線を配置することが多く、それであれば専用要素を提供した方が良いだろうと判断したためです。

詳しくは、 テンプレートリファレンス > XML要素 > Divider を参照してください。

<VText> height 属性の強化

<VText> 要素の height 属性を省略可能にしました。 auto を新たに指定することが可能となり、省略時の既定値は auto となります。

<ColumnText> height 属性の強化

<VText> 要素の height 属性で範囲指定(例: 10:20)が指定可能になりました(v1.0では未実装)。

<StackBlock> height 属性の強化

<VText> 要素の height 属性を、FlexHeight 型かつ省略可能に変更しました。

範囲(例: 10:20)および auto を新たに指定することが可能になりました。 省略時の既定値は auto となります。

罫線や背景色の描画を改善

<Grid> <Table> <ColumnText> 要素で、PDFビューアーによってはセル境界で罫線や背景色の継ぎ目が見えてしまうことがあるため、描画方法を改善しました。

レイアウト崩れを警告するログの追加

帳票生成時に、レイアウト崩れの可能性がある要素に対する警告ログを出力するようにしました。 レイアウト計算が確定した後に、次のいずれかの条件を満たす要素がある場合は警告ログが出力されます。

  • 描画サイズのwidth/heightのいずれかが0になっている
  • 描画サイズのwidth/heightのいずれかが、用紙や親コンテナの描画領域のサイズを超えている

この警告ログは、生成AIから使用されることを主な目的とした機能追加となります。

ESM形式のサポート

ESMとしてパッケージのimportが可能になりました。 引き続き、CJS および UMD としても使用可能です。

モジュールサイズの削減

依存パッケージの見直しやコードの最適化により、アプリケーションへ組み込むモジュールのサイズを30%程度削減しました。

バグフィックス

不正な画像・PDFデータの例外処理を修正

以下のケースで、SDKの致命的なエラー FatalError として扱われたり、処理が停止し無応答となることがある不具合を修正しました。

  • <Image> 要素の src 属性に不正な画像データを指定した場合
  • <StackLayout> 要素の basePdf 属性に不正なPDFデータを指定した場合

フォントの検証タイミングの修正

不正なフォントデータを使用した場合、フォントを読み込む時点 Template#createPdfReportGenerator() でエラーを返すように修正しました。

以前のバージョンでは、PDF生成時 PdfReportGenerator#generate() にエラーを返していましたが、これは期待される挙動ではありませんでした。

<ColumnText> 要素 に空文字列を指定すると描画されない不具合を修正

<ColumnText> 要素に空の文字列を設定した場合、罫線・背景が描画されることが正しい挙動ですが、要素全体が描画されていなかった不具合を修正しました。

<Table> minRows 属性による空行でテンプレート変数が解決される不具合を修正

<Table> 要素で minRows 属性による空行を描画する際、親スコープのテンプレート変数を参照してしまい、予期せぬ値が描画されてしまうことがある不具合を修正しました。

例えば、以下のような帳票テンプレートに { "name": "太郎" } というデータを入力した場合、 minRows の分だけ「太郎」が描画されていました。

<Table items="${items}" rowHeight="5" minRows="5">
<TableColumn width="*">
<TableColumnTemplate>
<Text>${name}</Text>
</TableColumnTemplate>
</TableColumn>
</Table>

<Grid> 要素の結合セルで罫線太さが考慮されない不具合を修正

<Grid> 要素で colspan/rowspan 属性によってセルが結合されている場合、 罫線の太さを加味せずセル内のレイアウト計算が行われていたため、セル内コンテンツの配置位置がずれていた不具合を修正しました。

<Grid> outerBorderRadius 属性が正しく描画されないことがある不具合を修正

1x1の <Grid> 要素で outerBorderRadius 属性で3隅を角丸に設定した場合、角丸の内側が正しく描画されていなかった不具合を修正しました。

<Grid> <Table> 要素で水平罫線が正しく描画されないことがある不具合を修正

<Grid> <Table> 要素において、行数が列数より多く、かつセルごとに罫線の有無が異なる場合に、水平方向の罫線が正しく描画されないことがある不具合を修正しました。

旧バージョンからの移行

以下の移行手順を参照してください。