可変長の文字列を含むtextField要素を含むJasperReportsテンプレートがあります。文字列が長すぎて幅に収まらない場合は、文字列にハイフンまたはスペース文字が含まれている場合を除いて、分割されます。この場合、文字列はその文字から分割されます。以下は、私のポイントを理解しやすくするために、入力、観察された結果、および必要な結果と要約の例です。
input observed wanted summary
_____________________________________
overflow -> overfl -> overfl : OK
over flow -> over -> over f : NOT OK
over-flow -> over- -> over-f : NOT OK
reportElementにisStretchWithOverflow="true"属性を設定すると、テキストが2行に分割されますが、これは望ましくない動作です。
これを修正する方法はありますか?
ありがとう。
編集:入力データは外部ソースからのものであるため、直接変更することはできません。いくつかのテストを実行しましたが、スペースを壊さないスペースを使用するとスペースが有効になることに気付きました。一方、改行しないハイフンはまったく印刷されません。つまり、テキスト「over-flow」は「overflow」になります。求められているものではありません。
入力ソースが自分で制御できないにもかかわらず、スペースをノーブレークスペースに変更し、ハイフンをノーブレークハイフンに変更するスクリプトレットを作成することで、この問題を修正できます。
ちなみに、問題のヒントが得られる場合に備えて、PDFに印刷します。