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(); } }
书签读取结果:
(本文完)