チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Java»Spire.Doc for Java»コメント»Java:Word で 2 つのコメントマークにあるテキストを取得する方法
2022-06-17

Java:Word で 2 つのコメントマークにあるテキストを取得する方法

コメントは、追加情報を提供したり、ドキュメント内の何かに注意を引くために使用されます。コメントされているテキストも役立つ場合があり、他の目的でそれを抽出したい場合があります。この記事では、Spire.Doc for Java を使用して、Word 文書の 2 つのコメントマークの間のテキストを抽出する方法を紹介します。

Spire.Doc for Java をインストールします

まず、Spire. Doc for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc</artifactId>
        <version>4.11.8</version>
    </dependency>
</dependencies>

Word で 2 つのコメントマークにあるテキストを取得する

開始マーク(CommentMarkStart クラスで表される)と終了マーク(CommentMarkEnd クラスで表される)の間のテキストを取得するには、コメントマークのインデックスを取得する必要があります。これらのインデックスは、段落でマークされているテキストの位置を指定します。以下は、Word 文書で 2 つのコメントマーク内にテキストを入れる詳細な手順です。

  • Document オブジェクトを作成し、Document.loadFromFile() メソッドを使用してサンプルの Word 文書を読み込みます。
  • Document.getComments().get() メソッドを使用して最初のコメントを取得します。
  • コメントの開始マークと終了マークを取得します。
  • 所有者段落で開始マークのインデックスと終了マークのインデックスを取得します。
  • インデックス間のテキスト範囲を取得してから、TextRage.getText() メソッドを使用してテキスト範囲のテキストを取得します。
  • Java
import com.spire.doc.Document;
import com.spire.doc.documents.CommentMark;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.Comment;
import com.spire.doc.fields.TextRange;

public class GetTextInsideCommentMarkers {

    public static void main(String[] args) {

        //Documentオブジェクトを作成する
        Document doc = new Document();

        //サンプルのWord文書をロードする
        doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.docx");

        //最初のコメントを取得する
        Comment comment = doc.getComments().get(0);

        //コメントの開始マークと終了マークを取得する
        Paragraph para = comment.getOwnerParagraph();
        CommentMark start = comment.getCommentMarkStart();
        CommentMark end = comment.getCommentMarkEnd();

        //開始マークのインデックスと終了マークのインデックスをそれぞれ取得する
        int indexOfStart = para.getChildObjects().indexOf(start);
        int indexOfEnd = para.getChildObjects().indexOf(end);

        //文字列変数を宣言する
        String textMarked = "";

        //2つのインデックス間の数値をループする
        for (int i = indexOfStart + 1; i < indexOfEnd; i++) {
            if (para.getChildObjects().get(i) instanceof TextRange) {

                //インデックスで指定されたテキスト範囲を取得する
                TextRange range = (TextRange) para.getChildObjects().get(i);

                //テキスト範囲からテキストを取得する
                textMarked += range.getText();
            }
        }
        //マークされているテキストを印刷する
        System.out.println(textMarked);
    }
}

Java:Word で 2 つのコメントマークにあるテキストを取得する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 622 times