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
この例ではフォントにCentury Gothic、フォントサイズは24ポイント、フォントの埋め込み「あり」を指定しています。