
PDFに書き込む文字列のフォント属性を指定します。
書き込み先PDF文書とそのページ位置、配置矩形、配置基準、書き込みしたい文字列の指定方法は「2.1.1 本文テキストの追加」を参照してください。
文字列に指定できるフォント属性は次のとおりです。
| パラメータ | 説明 | 
|---|---|
| WEIGHT_EXTRALIGHT | エクストラライト | 
| WEIGHT_LIGHT | ライト | 
| WEIGHT_NORMAL | ノーマル | 
| WEIGHT_MEDIUM | ミディアム | 
| WEIGHT_SEMIBOLD | セミボールド | 
| WEIGHT_BOLD | ボールド | 
| WEIGHT_EXTRABOLD | エクストラボールド | 
| WEIGHT_HEAVY | ヘビー | 
この例では主に次の機能を使っています。
package cookbook;
import jp.co.antenna.ptl.*;
public class AddTextSetFont {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        if (args.length < 7)
        {
            System.out.println("usage: java AddTextSetFont in-pdf-file out-pdf-file font-family font-size set-embed set-italic set-weight");
            System.out.println("set-embed, set-italicは trueかfalseで指定してください。");
            return;
        }
        String fontFamily = args[2];
        float fontSize = Float.parseFloat(args[3]);
        String setEmbed = args[4];
        boolean embedOrNot;
        String setItalic = args[5];
        boolean italicOrNot;
        String fontWeight = args[6];
        //setEmbedの判定
        switch(setEmbed)
        {
        case "true":
            embedOrNot = true;
            break;
        case "false":
            embedOrNot = false;
            break;
        default:
            System.err.println("set-embedは trueかfalseで指定してください。");
            return;
        }
        //setItalicの判定
        switch(setItalic)
        {
        case "true":
            italicOrNot = true;
            break;
        case "false":
            italicOrNot = false;
            break;
        default:
            System.err.println("set-italicは trueかfalseで指定してください。");
            return;
        }
        ...【AppendPages.javaと同じ処理のため省略
             ・PtlParamInputを用いてPtlPDFDocument docに入力PDFをロード
             ・PtlParamOutputを用いて出力PDF名を指定】...
        ...【RemovePages.javaと同じ処理のため省略
             ・doc.getPages()メソッドを用いてPtlPages pagesにページコンテナを取得
             ・ページコンテナが空だった場合にエラーを出力して終了】...
                try (PtlPage page = pages.get(0); // ページの取得(先頭ページを取得)
                     PtlContent content = page.getContent(); // ページコンテントの取得
                     PtlRect outputRect = page.getViewBox(); // 出力矩形の設定。(ページの大きさを得るためにViewBoxを取得する)
                     PtlParamWriteString writeStringParam = new PtlParamWriteString(); // 文字描画のパラメータクラス。
                     PtlParamFont font = new PtlParamFont()) //フォント指定に使うパラメータクラス
                {
                    // フォントの設定
                    // フォントファミリー名
                    font.setName(fontFamily);
                    // フォントのサイズ(ポイント)
                    font.setSize(fontSize);
                    // フォント埋め込みの可否
                    font.setEmbed(embedOrNot);
                    // イタリックか否か
                    font.setItalic(italicOrNot);
                    // フォントウエイト
                    try{
                        font.setWeight(PtlParamFont.WEIGHT.valueOf(fontWeight));
                    }catch (IllegalArgumentException ex){//PtlParamFont.WEIGHTの指定が誤っていた場合のエラーメッセージ
                        System.out.println(ex.getMessage());
                        System.out.println("ERROR : set-weightにはPtlParamFont.WEIGHTに含まれる名前を指定してください。");
                        ex.printStackTrace();
                    }
                    // フォントをパラメータクラスへ設定
                    writeStringParam.setFont(font);
                    // 文字列出力 (中央に文字列を作成)
                    content.writeString(outputRect, PtlContent.ALIGN.ALIGN_CENTER,
                                        "writeString Test : Set Font", writeStringParam);
                }
            }
        ...【AppendPages.javaと同じ処理のため省略
             ・PtlParamOutputを用いてPtlPDFDocument docの内容を出力
             ・PtlException, Exception, Error を catchするエラー処理
             ・finally文で"--完了--"と表示する処理】...
    }
}
AddTextSetFont.java
C:\samples>java cookbook.AddTextSetFont usage: java AddTextSetFont in-pdf-file out-pdf-file font-family font-size set-embed set-italic set-weight set-embed, set-italicは trueかfalseで指定してください。 C:\samples>java cookbook.AddTextSetFont blankPage.pdf addTextfont.pdf "Century Gothic" 24 true false WEIGHT_HEAVY -- 完了 --
この例ではフォントにCentury Gothic、フォントサイズは24ポイント、フォントの埋め込み「あり」を指定しています。
