Как вытащить текст из .doc или .docx на java?

Пользователь

от edyth , в категории: Java , 2 месяца назад

Как вытащить текст из .doc или .docx на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от marisa , 2 месяца назад

@edyth 

Для извлечения текста из файлов .doc или .docx на Java можно использовать Apache POI - библиотеку для работы с форматами Microsoft Office.


Вот пример кода для извлечения текста из файла .docx:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import java.io.FileInputStream;
import java.io.IOException;

public class DocxTextExtractor {
    public static void main(String[] args) {
        try {
            FileInputStream fis = new FileInputStream("example.docx");
            XWPFDocument document = new XWPFDocument(fis);
            XWPFWordExtractor extractor = new XWPFWordExtractor(document);
            String text = extractor.getText();
            System.out.println(text);
            extractor.close();
            document.close();
            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


Для извлечения текста из файла .doc, используйте класс HWPFDocument вместо XWPFDocument и WordExtractor вместо XWPFWordExtractor.


Убедитесь, что в вашем проекте присутствует зависимость для Apache POI. В файле pom.xml для Maven или в Gradle-скрипте добавьте следующую зависимость:


Maven:

1
2
3
4
5
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>


Gradle:

1
compile group: 'org.apache.poi', name: 'poi', version: '4.1.2'


Убедитесь, что вместо 4.1.2 указана актуальная версия Apache POI.