4

データベースに、テキストを RTF 形式で保持する列があります。Javaを使用して、プレーンテキストのみを取得するにはどうすればよいですか?

4

4 に答える 4

1
RTFEditorKit rtfParser = new RTFEditorKit();
Document document = rtfParser.createDefaultDocument();
rtfParser.read(new ByteArrayInputStream(rtfBytes), document, 0);
String text = document.getText(0, document.getLength());

これはうまくいくはずです

于 2017-04-07T20:10:36.490 に答える
0

Apache POIは、RTFだけでなく、MicrosoftWord形式も読み取ります。

POI

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;

public String getRtfText(String fileName) {
   File rtfFile = null;
   WordExtractor rtfExtractor = null ;

   try {
    rtfFile = new File(fileName);

    //A FileInputStream obtains input bytes from a file.
    FileInputStream inStream = new FileInputStream(rtfFile.getAbsolutePath());

    //A HWPFDocument used to read document file from FileInputStream
    HWPFDocument doc=new HWPFDocument(inStream);

    rtfExtractor = new WordExtractor(doc);
   }
   catch(Exception ex)
   {
    System.out.println(ex.getMessage());
   }

    //This Array stores each line from the document file.
    String [] rtfArray = rtfExtractor.getParagraphText();

    String rtfString = "";

    for(int i=0; i < rtfArray.length; i++) rtfString += rtfArray[i];

    System.out.println(rtfString);
    return rtfString;
 }
于 2012-08-08T15:27:28.913 に答える
0

「AdvancedRTFEditorKit」を試すことができれば、かっこいいかもしれません。ここで試してくださいhttp://java-sl.com/advanced_rtf_editor_kit.html

私はそれを使用して、MSWordが持つすべてのサポートを備えた完全なRTFエディターを作成しました。

于 2012-08-08T15:13:29.037 に答える