Javaオペレーションは、Wordのブックマーク(A):追加、削除、ブックマークを読むには

Wordやブックマーク機能は、一般的に、見つけ特定の文字や段落、大きな文書のためのスペース、非常に便利なこの機能をマークし、検索に使用されます。以下は、Wordプログラムにブックマークを追加したり削除したりするJavaメソッドによって導入されます。重要な例は次のとおりです。

1.ブックマークを追加します。

指定した段落1.1にブックマークを追加

1.2指定した文字列にブックマークを追加します。

2.ブックマークを削除します

2.1ブックマークを削除します

2.2ブックマークのテキストを削除します。

3.テキストのブックマークを読みます

 

ツールを使用してください: Java用として無料Spire.Doc(無料版)

ジャーファイル取得とインポート:

 

方法1 公式ウェブサイトを通じて、JAダウンロードする Rのパッケージを。ダウンロードしたら、ファイルを解凍します。JavaプログラムにSpire.Doc.jarファイルの下のlibフォルダ。次のような効果へのインポート参照:

 

方法2 Mavenのリポジトリによって導入インストールリファレンスは、インストールすることができる導入方法を

 

 

Javaのコード例

 

[実施例1]指定した段落のブックマーク

 

com.spire.doc *インポート;. 
インポートcom.spire.doc.documents.Paragraph; 

publicクラスAppendBookmark { 
    公共の静的な無効メイン(文字列[] args){ 
        //のWord文書のブックマークを追加する必要がありますロード
        ドキュメントドキュメント=新しい文書を( ); 
        doc.loadFromFile( "sample.docx"); 

        //ブックマーク取得段落が必要です
        ..;(段落doc.getSectionsパラ=)が(0).getParagraphs()GET(1)GET 

        //段落の開始を、開始タグと終了タグの末尾にブックマークを追加し、ブックマークに名前を付ける
        = para.appendBookmarkStart( "bookmark01")を開始bookmarkstart; 
        para.getItemsは、()(スタート、0)を挿入;. 
        para.appendBookmarkEnd( "bookmark01"); 

        //文書保存
        doc.saveToFile( "appendbookmark.docx"、FileFormat.Docx_2013を); 
        doc.dispose();
    } 
}

 

 

ブックマークエフェクトを追加します。


 

[実施例2 ]ブックマーク文字列を指定します

 

import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.TextSelection;
import com.spire.doc.fields.TextRange;

public class AppendBookmarkToCharacter {
    public static void main(String[]args){
        //加载文档
        Document doc = new Document();
        doc.loadFromFile("sample.docx");

        //查找指定字符串
        TextSelection textSelection = doc.findString("采用蕴含深意的象征语言,揭示人生的哲理。",false,false);
        TextRange range = textSelection.getAsOneRange();
        Paragraph para = range.getOwnerParagraph();
        int index = para.getChildObjects().indexOf(range);

        //添加书签
        BookmarkStart start = new BookmarkStart(doc,"书签1");
        BookmarkEnd end = new BookmarkEnd(doc, "书签1");
        para.getChildObjects().insert(index, start);
        para.getChildObjects().insert(index + 2, end);

        //保存文档
        doc.saveToFile("appendbookmarktocharacter.docx",FileFormat.Docx_2013);
        doc.dispose();
    }
}

 书签添加效果:

 


 

【示例3】删除书签、书签文本

import com.spire.doc.*;
import com.spire.doc.documents.BookmarksNavigator;

public class DeleteBookmarkAndBookmarkcontent {
    public static void main(String[]args){
        //加载文档
        Document doc = new Document();
        doc.loadFromFile("test.docx");

        //定位到特定的书签
        BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(doc);
        bookmarksNavigator.moveToBookmark("bookmark1");

        //删除书签处的内容
        bookmarksNavigator.deleteBookmarkContent(true);

        //删除书签(仅删除书签标签,原文书签处的内容)
        doc.getBookmarks().remove(doc.getBookmarks().get("bookmark2"));//通过书签名删除
        doc.getBookmarks().removeAt(1);//通过索引值删除

        //保存文档
        doc.saveToFile("deletebookmark.docx",FileFormat.Docx_2013);
    }
}

 运行程序后,生成的文档可查看书签删除效果。

 

【示例4】读取书签文本

import com.spire.doc.*;
import com.spire.doc.documents.BookmarksNavigator;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.TextBodyPart;
import com.spire.doc.fields.TextRange;

import java.io.IOException;
import java.io.PrintWriter;

public class GetBookmarkText {
    public static void main(String[]args) throws IOException {
        //加载包含书签的Word文档
        Document doc = new Document();
        doc.loadFromFile("test.docx");

        //获取书签
        BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(doc);
        bookmarksNavigator.moveToBookmark("bookmark1");

        //获取书签文本
        TextBodyPart textBodyPart = bookmarksNavigator.getBookmarkContent();

        //创建String变量
        String text = "";

        //遍历书签内容的项目
        for (Object item : textBodyPart.getBodyItems()) {

            //判断项目是否为段落
            if (item instanceof Paragraph) {
                Paragraph paragraph = (Paragraph) item;

                //遍历段落中的子对象
                for (Object childObj : paragraph.getChildObjects()) {

                    //判断子对象是否为TextRange
                    if (childObj instanceof TextRange) {

                        //获取TextRange中的文本
                        TextRange textRange = (TextRange) childObj;
                        text = text + textRange.getText();
                    }
                }
            }
        }

        //将获取到的文本写入Txt文件
        PrintWriter printWriter = new PrintWriter("BookmarkText.txt");
        printWriter.println(text);
        printWriter.close();
    }
}

 

书签读取结果:



 

(本文完)

 

 

おすすめ

転載: www.iteye.com/blog/miaonly-2443540