Javaを使用してWord文書に複数のテキスト透かしを追加する方法


頭語

Word文書の透かしについて、皆よく知っているはずです。以前は単一行の透かしを紹介したことがありますが、日常でWordを使用していると、常に複数の透かしを追加しなければならないです。故にこの記事で、Javaを使用してWord文書に複数のテキスト透かしを追加する方法を紹介します。

コードのテスト環境

  1. Intellij Idea 2019.1
  2. JDK 1.8.0
  3. Spire.Doc.jar

jarパッケージの取得とインポート

JarパッケージをIDEAに手動でインポートします。具体的な手順は次のとおりです。
ステップ1:E-iceblueの公式Webサイトに登録してログインし、Spire.Doc for Javaダウンロードページにアクセスして製品パッケージをダウンロードします。
ステップ2:製品パッケージを解凍し、libファイルの下でSpire.Doc.jarを見つけます。
ステップ3:Spire.Doc.jarをIDEAに手動でインポートします。

構成が完了したら、IDEAで「変更のインポート」をクリックしてJARパッケージをインポートする必要があります。Eclipseでは、「保存」ボタンをクリックする必要があります。

コード一覧

Spire.Doc for Javaは、WordヘッダーにWordArtを追加することにより、ドキュメントに複数行のテキスト透かしを追加することを実装しています。具体的なコードは次のとおりです。

import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.HeaderFooter;
import com.spire.doc.Section;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.ShapeLineStyle;
import com.spire.doc.documents.ShapeType;
import com.spire.doc.fields.ShapeObject;
import java.awt.*;
public class multiTextWatermark {
    public static void main(String[] args) {
        //テストドキュメントをロードする
        Document doc = new Document();
        doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.docx");
        //WordArtを追加してサイズを設定する
        ShapeObject shape = new ShapeObject(doc, ShapeType.Text_Plain_Text);
        shape.setWidth(60);
        shape.setHeight(20);
        //WordArtのテキストコンテンツ、色、位置、スタイルを設定する
        shape.setVerticalPosition(30);
        shape.setHorizontalPosition(20);
        shape.setRotation(315);
        shape.getWordArt().setText("内部使用");
        shape.setFillColor(Color.green);
        shape.setLineStyle(ShapeLineStyle.Single);
        shape.setStrokeColor(new Color(192, 192, 192, 255));
        shape.setStrokeWeight(1);

        Section section;
        HeaderFooter header;
        for (int n = 0; n < doc.getSections().getCount(); n++) {
            section = doc.getSections().get(n);
            //セクションのヘッダーを取得する
            header = section.getHeadersFooters().getHeader();
            Paragraph paragraph1;
            for (int i = 0; i < 4; i++) {
                //ヘッダーに段落を追加する
                paragraph1 = header.addParagraph();
                for (int j = 0; j < 3; j++) {
                    //WordArtを複製し、複数行、複数列の位置を設定する
                    shape = (ShapeObject) shape.deepClone();
                    shape.setVerticalPosition(50 + 150 * i);
                    shape.setHorizontalPosition(20 + 160 * j);
                    paragraph1.getChildObjects().add(shape);
                }
            }
        }
        //ドキュメントを保存する
        doc.saveToFile("output/multi-lineTextwatermark.docx", FileFormat.Docx_2013);
    }
}

結語

以上は、Word文書に複数のテキスト透かしを追加する方法でした、最後まで読んでいただきありがとうございます。