2012-05-03 21 views
1

ワード文書(基本的にDOCX)内の特定の単語(ページ番号と行番号によって提供される)を強調表示できるかどうか誰かに教えてください。私の主な選択は、Javaを使用することです。この問題のための.Netソリューションがある場合は、私に知らせてください。Javaを使用してMS Wordのテキストをプログラムで強調表示

ありがとうございました。

私はJavaで発見していない
+0

.docxのは、基本的には、zipファイルの内部だけでxmlファイルであるので、あなたそれを開くことができますし、あなたのためにそれを行うライブラリがない場合、手動でXMLを解析します。 – Tharwen

+0

はい、私はそうしています。しかし、ドキュメントのXMLを開いたときに、特定のページまたは特定の行番号にアクセスするXMLタグが見つかりませんでした。私の意図は、特定のページの特定の行番号に移動し、その行の内容を強調表示することです。 – rajshekhar

+0

stcakoverflowの回答が見つかりました。 http://stackoverflow.com/questions/35419619/how-can-i-set-background-colour-of-a-run-a-word-in-line-or-a -paragraph-in-a-do – LearNer

答えて

1

が、.NETで

object missObj = Missing.Value; 
      object path = @"D:\mydoc.docx"; 
      Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application(); 
      Microsoft.Office.Interop.Word.Document doc = app.Documents.Open(ref path, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj); 
      foreach (Microsoft.Office.Interop.Word.Range range in doc.Words) 
      { 
       if (range.Text.Trim() == "the text") 
       { 
        range.HighlightColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdDarkYellow; 
        range.Font.ColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdWhite; 
       } 
      } 

出典:http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/9fba8427-8b3c-44f2-b19f-92eb5108693b/

+0

あなたの返事をありがとう。私はそれを確認し、あなたに戻ってきます。 – rajshekhar

+0

サンプルコードを試したところ、文字列ではなく単語のみが強調表示されているようです。私が "テキスト"を提供すると仮定すると、ドキュメント内の文字列を強調表示しません。しかし、私が "テキスト"を提供すれば、それはハイライトします。やるべきことは他にありますか? – rajshekhar

1

はい、これはJavaで可能ですが、あなたはおそらく第3回図書館を経由して、これを実装する必要がある、ApacheのPOIがありますMicrosoft Documents用のJava APIである良い選択は、DOCまたはDOCXファイルを操作するためのほぼすべての機能と機能を提供します。あなたは、「ハイライト」は、段落の背景色とハイライトテキストの色にある意味何

http://poi.apache.org/

?または、他の何か?

+0

私は以前にApache POIに関するいくつかの調査を行ってきました。しかし、私はどのように強調表示をするかについての手がかりを得ていませんでした。高レベルで、私は次のことをしたい - 1)指定されたページ番号に行く、2)指定された行番号に行く、3)行を強調表示する。 POIで可能ですか?そうであれば、ダミーコードを提供できますか? – rajshekhar

+0

特定のページの行(より正確になる行の単語)を強調表示したい。 – rajshekhar

1

はいは、Apache POIを使用することによって、あなたはMS-Word文書を読むことができますし、テキストをハイライトするようにそのドキュメント上で操作を行うことができますなど

関連する問題