1-5で生成したPDF帳票に埋め込まれている文字列を見ると”その他ご記入欄”の文字列が左下から出力されていて表示位置のバランスの悪さが目立ちます。
"その他ご記入欄”フィールドの文字列を左上から表示してみましょう。
- <利用API>
- クラス:
Field
- メソッド:
setOnMultiline(boolean b)
- <引数>
b:フィールド上端から文字列を表示(b=true)/下端から表示(b=false)
※デフォルトは下端から表示(false)します。
- <用途>
- フィールド上端から埋め込み文字列を出力します。
<記述例>
//フィールドを取得します。
Field freeField = report.getField("xFree");
//フィールドの上端から文字列を表示します。
freeField.setOnMultiline(true);
//文字列に改行を含めたい場合は\nを挿入してください。
report.putFieldData(freeField,"上記電話番号でつながらない場合は
下記番号におねがいします。\n 勤務先 \n 03-5555-5555");
■注意■
タブの使用は空白に置きかえるなどして出来るだけ避けてください。
タブに対する本ライブラリの内部処理は、「フォント埋め込みの有無」により異なり、
生成されるPDFイメージが異なります。(インデントの幅が予想と反する場合があります。)
記述例を参考にして、フィールドに複数行の文字列を埋め込み、左上から表示するコードを追記してください。
追記されたコードは
こちらをご覧ください。
◎javaファイル:cookbook/chapter1-6/OrderFormFin.java
コードの追記が終了したら、プログラムを実行し生成されたPDF帳票を開いてみましょう。
指定したフィールドの文字列が左上から複数行表示されていることを確認してください。
◎出力されたPDF帳票:cookbook/chapter1-6/orderFormFin.pdf
☆コラム☆〜 テキストフィールドのプロパティを変更してみよう 〜
"テキストフィールドのプロパティ"ダイアログでは、"オプション"タブの"複数行"項目で、文字列の縦の表示位置を決定できます。デフォルトの設定ではチェックが無く、文字列はフィールドの下部から出力されます。"複数行"にチェックを入れると文字列はフィールド上部から出力され、上記で説明したAPI[setOnMultiline(boolean b)]と同様の制御ができ、複数行の表示に適しています。全プロパティの設定については、「テンプレートの作り方」を参考にしてください。
|