0

現在、請求書の生成に Apache-FOP を使用しようとしています。を使用する<fo:retrieve-marker/><fo:marker/>、すべてのページの小計を作成できます。

この番号を適切にフォーマットしたい:

          <fo:block text-align="right">
            <fo:retrieve-marker retrieve-class-name="invoice-subtotal" retrieve-boundary="page" retrieve-position="last-starting-within-page"/>
          </fo:block>

単純な合計 (例: 12045) を教えてくれます。必要なのは 120.45 です。これは Apache-FOP 1.1 だけで可能ですか? この数値の取得は XSLT プロセッサの後で行われるため、XSLT フォーマット関数は使用できません。

ご協力いただきありがとうございます。

4

1 に答える 1

1

Ok。私が尋ねたことは不可能のようです。私が以前に行ったことは、XSLT を使用して中間合計を計算することでした。

<fo:marker marker-class-name="invoice-subtotal"><xsl:value-of select="itemTax/grossPriceRaw + sum(preceding::itemTax/grossPriceRaw)"/></fo:marker>

この問題を解決するために私が行ったことは、請求書のすべてのポジションが中間金額を保持するようになったことです。そのため、計算と書式設定はプログラミング言語 (この場合は Java) 次第です。

私のマーカー定義は次のようになります。

<fo:marker marker-class-name="invoice-subtotal"><xsl:value-of select="intSum"/></fo:marker>

したがって、すべてが正常に機能します。

ご協力いただきありがとうございます。

于 2013-03-15T10:10:32.803 に答える