透かし文字列の輪郭線の色を指定します。
文字の輪郭線の色を設定します。色の指定方法は2.2.7 透かしの文字色と同じです。
テキスト透かしの輪郭色を指定した場合、その透かしはAcrobat®互換にすることができなくなります。透かしのAcrobat®互換の詳細に関しては「『PDF CookBook』(第5巻)第8章 透かしのAcrobat®互換対応と機能追加」を参照してください。
package cookbook; import java.io.*; import jp.co.antenna.ptl.*; public class TextWaterMarkSetOutlineColor { // そのクラスのusageを表示する関数 public static void printUsage() { System.out.print("usage: java TextWaterMarkSetOutlineColor in-pdf-file out-pdf-file"); System.out.println(" outline-color-R outline-color-G outline-color-B"); System.out.println("outline-color-R, outline-color-G, outline-color-B :"); System.out.println("0.0~1.0の数値で指定。それぞれの色について1.0が最大"); } /** * @param args the command line arguments */ public static void main(String[] args) { if (args.length < 5) { printUsage(); // usageメッセージの表示 return; } // コマンドライン引数の読み取り float colorR = Float.parseFloat(args[2]); float colorG = Float.parseFloat(args[3]); float colorB = Float.parseFloat(args[4]); ...【WaterMarkSetMargin.javaと同じ処理のため省略 ・PtlParamInputを用いてPtlPDFDocument docに入力PDFをロード ・PtlParamOutputを用いて出力PDF名を指定】... // 透かしの追加 appendTextWaterMarkSetOutlineColor(doc, colorR, colorG, colorB); ...【EncryptWithUserPass.javaと同じ処理のため省略 ・PtlParamOutputを用いてPtlPDFDocument docの内容を出力 ・PtlException, Exception, Error を catchするエラー処理 ・finally文で"--完了--"と表示する処理】... } public static void appendTextWaterMarkSetOutlineColor(PtlPDFDocument doc, float colorR, float colorG, float colorB) throws PtlException, Exception, Error { try (PtlParamWaterMarkText waterMarkText = new PtlParamWaterMarkText()) { // 透かしの文字の縁取りに指定する色の設定 // PtlColorDeviceRGBは、PtlColorNone, PtlColorDeviceGray, PtlColorDeviceCMYKに // 置き換えて指定することも可能。その場合は指定する変数の種類に注意。 try (PtlColorDeviceRGB colorOutline = new PtlColorDeviceRGB(colorR, colorG, colorB)) { waterMarkText.setOutlineColor(colorOutline); } ...【WaterMarkSetRect.javaのappendWaterMarkSetRect()と同じ処理のため省略。 配置位置はWaterMarkSetPageRange.javaのappendWaterMarkSetPageRange()のものを共通とする。 ・縁取りの色以外の、テスト用テキスト透かしに共通の設定をセットする。 ・設定項目:配置位置・名前・Zオーダー・ページ範囲・不透明度・文字列・ タイリング・フォント・文字の色・対角線配置の有無・配置角度 ・PtlPDFDocument docにテキスト透かしを設定する】... } } }
TextWaterMarkSetOutlineColor.java
次図は文字列の輪郭線にカラーをRGBで(0.2 0.2 0.2)と指定した例です。