Będąc programistą aplikacji Java, który tworzy aplikacje do przetwarzania dokumentów, możesz być zainteresowany zapewnieniem możliwości czytania dokumentów Word w aplikacji Java i programowego wyodrębnienia tekstu z tych dokumentów. Możesz wykorzystać moc interfejsu API DOCX4J do odczytu pliki DOCX i wyodrębnić tekst z tych plików z aplikacji Java. W tym artykule pokażemy, jak korzystać z interfejsu API DOCX4J, aby osiągnąć nasz cel pracy z plikami DOCX w celu ekstrakcji tekstu.

Jak czytać i wyodrębnić tekst z dokumentów Word w Javie?

Zanim zaczniesz pisać kod do tworzenia pliku DOCX za pomocą interfejsu API DOCX4J, musisz mieć skonfigurowane API DOCX4J w środowisku programistycznym. Jeśli nie zainstalowałeś i skonfigurowałeś interfejsu API DOCX4J, możesz rzucić okiem na nasz artykuł na temat Jak zainstalować API DOCX4J.

Wyodrębnij tekst z dokumentu Word w Javie

Na tym etapie zakładamy, że skonfigurowałeś swoje środowisko programistyczne i jesteś gotowy, aby zacząć korzystać z interfejsu API DOCX4J do wyodrębnienia tekstu z dokumentów Word. W tym celu można użyć następującego przykładowego kodu. Możesz bezpośrednio skopiować go do głównej metody aplikacji Java opartej na konsoli i wykonać ją.

// Load document
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new File("FileFormat.docx"));
// Load main document part
MainDocumentPart mainDocumentPart = wordMLPackage.getMainDocumentPart();
// Extract nodes
String textNodesXPath = "//w:t";
List<Object> textNodes= mainDocumentPart.getJAXBNodesViaXPath(textNodesXPath, true);
// Print text
for (Object obj : textNodes) {
  Text text = (Text) ((JAXBElement) obj).getValue();
  String textValue = text.getValue();
  System.out.println(textValue);
}

Rzućmy okiem na to, jak działa ten kod. Dokument Word jest ładowany za pomocą WordProcesingMlPackage i jest dalej przetwarzany za pomocą klaski mainDocumentPart API DOCX4J. Po załadowaniu dokumentu lista węzłów tekstowych jest uzyskiwana z obiektu MainDocumentPart zawierającego rzeczywisty dokument. Każdy węzeł tekstowy jest następnie czytany jako Jaxbelement obiekt, przemierzając go.

Wniosek

Praca z dokumentami Word z aplikacji Java jest łatwa dzięki API DOCX4J. API pomaga dodać funkcjonalność przetwarzania dokumentów do aplikacji Java bez wchodzenia w wewnętrzne szczegóły podstawowego formatu plików. Podążaj za tym blogiem, aby uzyskać więcej przykładów pracy z DOCX4J API.