2.1.9 透かしの名前

images/WaterMarkSetName-top.png

狙い・効果

透かしに名前を付けます。

処理の概要

透かしに名前を付けると、名前を指定して透かしを削除ができます。

PDF Tool APIの主な機能

プログラム例

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

入出力操作の例

images/WaterMarkSetName.png

この例では、出力PDF文書の透かしに「20180522」という名前が付きます。