0

.docファイルを読んだときに、なぜ私のテキストが整列しないのかを誰かが理解するのを手伝ってくれるかどうか疑問に思いました。これまでのコードではWordExtractorを使用していますが、フォーマットの問題があり、正しく整列されていません。これがJava1.7を使用して書かれた私のコードです。

public class Doc {
 File docFile = null;
 WordExtractor docExtractor = null ;
 WordExtractor exprExtractor = null ;
 public void read(){
  docFile = new File("blue.doc");
   try{
     FileInputStream fis = new FileInputStream(docFile.getAbsolutePath());
     HWPFDocument doc=new HWPFDocument(fis);
     docExtractor = new WordExtractor(doc);
     }catch(Exception e){
     System.out.println(e.getMessage());
  }


 System.out.println(docExtractor.getText());



  }
 }

プログラムがドキュメントを表示する方法。

 A                                                                      E
I'm stuck in Folsom Prison, and time keeps draggin on.  

このように表示されるはずです

     A                                              E
 I'm stuck in Folsom Prison, and time keeps draggin on.  
4

1 に答える 1

0

もちろん、これは機能しません。ドキュメントファイルのコンテンツを文字列変数に抽出しています(これにより、書式設定が段落などのドキュメントに歪められます)。さらに、テキストをコンソールに出力していて、Microsoft Word とまったく同じように見えると思いますか?

次に、自分が何をしたいのかを考えるべきです。ドキュメントのフォーマットとコンテンツの両方を確認したい場合、私の答えは次のとおりです。を使用してドキュメントをプレーンテキストに変換すると、ドキュメントgetText()のコンテンツが歪んだ形式になり、役に立ちません。POI ライブラリを使用することで、代わりに文書内の各段落と表にアクセスして、必要に応じて検証/読み取り/書き込みを行う必要があります。

doc.getRange()Range オブジェクトが得られます。http://poi.apache.org/apidocs/org/apache/poi/hwpf/usermodel/Range.htmlを参照してこのオブジェクトを操作すると、ドキュメント内のすべての段落、表、およびセクションにアクセスできます。これは、プログラムを介して単語文書を作成するのに役立ちます。

于 2012-09-01T20:58:44.797 に答える