Sendo um desenvolvedor de aplicativos Java que cria aplicativos de processamento de documentos, você pode estar interessado em fornecer a capacidade de ler documentos do Word em seu aplicativo Java e extrair texto desses documentos programaticamente. Você pode aproveitar o poder da API DOCX4J para ler arquivos docx e extrair texto desses arquivos do seu aplicativo Java. Neste artigo, mostraremos como usar a API DOCX4J para atingir nosso objetivo de trabalhar com arquivos DOCX para a extração de texto.

Como ler e extrair texto de documentos do Word em Java?

Antes de começar a escrever código para criar um arquivo DOCX usando a API DOCX4J, você deve ter a API DOCX4J configurada em seu ambiente de desenvolvimento. Se você ainda não instalou e configurou a API DOCX4J, pode dar uma olhada no nosso artigo sobre como instalar a API DOCX4J.

Extraia o texto do documento do Word em java

Nesta fase, assumimos que você configurou seu ambiente de desenvolvimento e está pronto para começar a usar a API DOCX4J para extrair texto dos documentos do Word. O código de amostra a seguir pode ser usado para esse fim. Você pode copiá-lo diretamente para o método principal do seu aplicativo Java baseado em console e executá-lo.

// 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);
}

Vamos dar uma olhada em como esse código funciona. O documento do Word é carregado usando o WordProcesingMlPackage e é processado posteriormente usando a classe mantDocumentPart da API DOCX4J. Depois que o documento é carregado, a lista de nós de texto é obtida no objeto mainDocumentPart que contém o documento real. Cada nó de texto é lido como JaxBelEment objeto atravessando -o.

Conclusão

Trabalhar com documentos do Word de dentro do seu aplicativo Java é fácil com a API DOCX4J. A API ajuda a adicionar a funcionalidade de processamento de documentos aos seus aplicativos Java sem entrar nos detalhes internos do formato de arquivo subjacente. Continue seguindo este blog para obter mais exemplos de trabalho com a API DOCX4J.