1-8フォント名を変更する
使用するフォントを変更してみましょう。
xCustomerNameフィールドのフォントをTrueTypeフォントのMSGothic/太字(BOLD)に、xPhoneNoフィールドのフォントをType1フォントのクーリエに変更していきます。
【利用API】
クラス:Field
メソッド:setFontName(String fontName)
【引数】
fontName : フォント名
- ※
- フォント名は、フォントフォーマットによって指定方法が若干異なります。コラムを参考にしてください。
【用途】
取得したフィールドのフォント名を変更します。
扱えるフォントについて
本ライブラリでは以下に示す2種類のフォントフォーマットのみをサポートしています。
- PostScriptType1形式(*.ptb)
- TrueType形式(*.ttf,*.ttc)
【PostScriptType1形式について】
英数文字は、単純フォント、日本語等のCJK文字は複合フォントとして扱われます。
単純フォントは、PDF仕様において「標準フォント」とされている以下の14種類のフォントを利用できます。
COURIER, COURIER_BOLD, COURIER_OBLIQUE COURIER_BOLDOBLIQUE, HELVETICA, HELVETICA_BOLD HELVETICA_OBLIQUE, HELVETICA_BOLDOBLIQUE TIMES_ROMAN, TIMES_BOLD, TIMES_ITALIC, TIMES_BOLDITALIC,SYMBOL, ZAPFDINGBATS
以上の単純フォントは、Type1Fontクラスのクラス変数として定義しているString型の実数値を利用して、フォント指定を行なうことができます。
本ライブラリで扱えるPostscript形式の複合フォントは、以下に示す日本語フォントのみです。
いずれも、AcrobatおよびAdobeReaderの各バージョンにバンドルで採用されている日本語フォントです。
このことから、日本語PostScriptフォントを利用したフォームフィールドを設計する場合は、Acrobatのバージョン毎に選択できるフォントが異なることに気づいてください。
フォント名 | ポストスクリプト英名 | 対応するAcrobatのバージョン |
---|---|---|
平成角ゴシック | HeiseiKakuGo-W5 | 6.0 |
平成明朝 | HeiseiMin-W3 | 6.0 |
小塚ゴシックPro M | KozGoPro-Medium | 7.0 |
小塚明朝Pro-VI R | KozMinProVI-Regular | 7.0 |
小塚ゴシックPro-VI M | KozGoProVI-Medium | 8.0 |
小塚明朝Pro-VI R | KozMinProVI-Regular | 8.0 |
小塚ゴシック Pr6N M | KozGoPr6N-Medium | 9.0 / X |
小塚明朝 Pr6N R | KozMinPr6N-Regular | 9.0 / X |
- ※
- Type1フォントを利用して、フォントの埋め込み機能を利用することはできません。
- ※
- フォント埋め込みPDF文書を作成する場合は、必ずTrueTypeフォントを利用してください。
【TrueTypeフォント形式について】
所定の手続きにのっとって、フォントのファイルを登録することで、(*.ttf,*.ttc)形式のフォントを使用できます。
CookBookで使用するTrueTypeフォント手続きの詳細については、「1-13-3 付録-TrueTypeフォントを登録する」を参照してください。
主なTrueTypeフォントのポストスクリプト英名を以下に示します。
フォント名 | ポストスクリプト英名 |
---|---|
MS ゴシック | MSGothic |
MS Pゴシック | MSPGothic |
MS UIゴシック | MSUIGothic |
MS 明朝 | MSMincho |
MS P明朝 | MSPMincho |
【フォントのスタイル指定について】
フォントのスタイル指定は、TrueTypeフォントでのみ可能です。
PostScriptフォントではスタイルを指定できません。
以下のように”フォント名,スタイル名”としてフォント名を指定することで、スタイル指定を行ないます。
setFontName("(TrueTypeFontName),(Italic | Bold-Italic | Bold)")
記述例
<1>~TrueTypeフォントの設定~
//フィールドを取得
Field field = report.getField("xCustomerName");
//フォント名をMSGothicの太字に変更する。
field.setFontName("MSGothic,Bold");
//フィールドに文字列をセットする。
report.putFieldData(field,"山田 太郎");
<2>~Type1フォントの設定~
//フィールドを取得
Field field = report.getField("xPhoneNo");
//フォント名をType1Fontのクーリエに変更する。
field.setFontName(Type1Font.COURIER);
//フィールドに文字列をセットする。
report.putFieldData(field,"03-1234-5678");
記述例を参考にして、フィールドのフォント名を変更するコードを追記してください。
追記されたコードはこちらをご覧ください。
◎javaファイル:cookbook1/chapter1-8/OrderFormFin.java
コードの追記が終了したら、プログラムを実行し生成されたPDF帳票を開いてみましょう。
指定したフィールドのフォントが変更されていることを確認してください。
◎出力されたPDF帳票:cookbook1/chapter1-8/OrderFormFin.pdf
テキストフィールドのプロパティを変更してみよう
"テキストフィールドのプロパティ"ダイアログでは、"表示方法"タブの"フォント"項目で、フォント名を決定できます。
デフォルトの設定はAcrobatのバージョンにより異なります。
"フォント"を変更すると、上記で説明したAPI[setFontName()]と同様の制御ができます。
全プロパティの設定については、「テンプレートの作り方」を参考にしてください。