Как извлечь параграфы вместо целых текстов только для XWPFWordExtractor (POI Library) Java - PullRequest
1 голос
/ 30 марта 2010

Я знаю, что следующий код может извлечь целые тексты документа docx, однако мне нужно извлечь параграф вместо этого. Есть ли возможный способ ??

public static String extractText (InputStream in) создает исключение {

    JOptionPane.showMessageDialog(null, "Start extracting docx");
   XWPFDocument doc = new XWPFDocument(in);
    XWPFWordExtractor ex = new XWPFWordExtractor(doc);
    String text = ex.getText();
    return text;

}

Любая помощь будет высоко ценится. Мне это нужно срочно.

Ответы [ 3 ]

2 голосов
/ 30 марта 2010

Это всего лишь предположение после краткого изучения API:

doc.getParagraphs()

Ссылка на API: http://poi.apache.org/apidocs/org/apache/poi/xwpf/usermodel/XWPFDocument.html#getParagraphs()

0 голосов
/ 16 мая 2017

Хотя вопрос очень старый. Я отвечаю в надежде помочь, если чей-то браузер закончился поиском ответа.

XWPFDocument document = new XWPFDocument(fis);
List<XWPFParagraph> paragraphs = document.getParagraphs();

for(XWPFParagraph paragraph: paragraphs){
  System.out.println("Text in this paragraph: " + paragraph.getText());          
    }
System.out.println("Total no of paragraph in Docx : "+paragraphs.size());

Надеюсь, это поможет!

0 голосов
/ 18 января 2017

Я написал для этого служебный метод, как показано ниже:

public static List<String> getParagraphs(File file)
    {
        List<String> paragraphs = new ArrayList<>();

        try
        {
            FileInputStream fis = new FileInputStream(file);
            XWPFDocument xdoc = new XWPFDocument(OPCPackage.open(fis));
            List<XWPFParagraph> paragraphList = xdoc.getParagraphs();
            for (XWPFParagraph paragraph : paragraphList)
            {
                paragraphs.add(paragraph.getText());
            }
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }
        return paragraphs;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...