透かしに名前を付けます。
透かしに名前を付けると、名前を指定して透かしを削除ができます。
package cookbook; import jp.co.antenna.ptl.*; public class WaterMarkSetName { // そのクラスのusageを表示する関数 public static void printUsage(){ System.out.println("usage: java WaterMarkSetName in-pdf-file out-pdf-file watermark-name"); } /** * @param args the command line arguments */ public static void main(String[] args) { if (args.length < 3) { printUsage(); // usageメッセージの表示 return; } // コマンドライン引数の読み取り String watermarkName = args[2]; ...【WaterMarkSetMargin.javaと同じ処理のため省略 ・PtlParamInputを用いてPtlPDFDocument docに入力PDFをロード ・PtlParamOutputを用いて出力PDF名を指定】... // 透かしの追加 appendWaterMarkSetName(doc, watermarkName); ...【EncryptWithUserPass.javaと同じ処理のため省略 ・PtlParamOutputを用いてPtlPDFDocument docの内容を出力 ・PtlException, Exception, Error を catchするエラー処理 ・finally文で"--完了--"と表示する処理】... } public static void appendWaterMarkSetName(PtlPDFDocument doc, String watermarkName) throws PtlException, Exception, Error { try (PtlParamWaterMarkText waterMarkText = new PtlParamWaterMarkText()) { // 透かしの名前の設定 waterMarkText.setName(watermarkName); ...【WaterMarkSetRect.javaのappendWaterMarkSetRect()と同じ処理のため省略。 配置位置はWaterMarkSetPageRange.javaのappendWaterMarkSetPageRange()のものを共通とする。 ・名前以外の、テスト用テキスト透かしに共通の設定をセットする。 ・設定項目:配置位置・Zオーダー・ページ範囲・不透明度・文字列・ タイリング・フォント・文字の色・縁取りの色・対角線配置の有無・配置角度 ・PtlPDFDocument docにテキスト透かしを設定する】... } } }
WaterMarkSetName.java
この例では、出力PDF文書の透かしに「20180522」という名前が付きます。