Apache POI Word - Guia rápido

Muitas vezes, um aplicativo de software é necessário para gerar documentos de referência no formato de arquivo do Microsoft Word. Às vezes, espera-se até que um aplicativo receba arquivos do Word como dados de entrada.

Qualquer programador Java que deseja produzir arquivos MS-Office como saída deve usar uma API predefinida e somente leitura para fazer isso.

O que é Apache POI?

Apache POI é uma API popular que permite aos programadores criar, modificar e exibir arquivos do MS-Office usando programas Java. É uma biblioteca de código aberto desenvolvida e distribuída pela Apache Software Foundation para projetar ou modificar arquivos do MS-Office usando o programa Java. Ele contém classes e métodos para decodificar os dados de entrada do usuário ou um arquivo em documentos do MS-Office.

Componentes do Apache POI

O Apache POI contém classes e métodos para trabalhar em todos os documentos compostos OLE2 do MS-Office. A lista de componentes desta API é fornecida abaixo -

  • POIFS (Poor Obfuscation Implementation File System)- Este componente é o fator básico de todos os outros elementos POI. É usado para ler diferentes arquivos explicitamente.

  • HSSF (Horrible SpreadSheet Format) - É usado para ler e escrever no formato .xls de arquivos MS-Excel.

  • XSSF (XML SpreadSheet Format) - É usado para o formato de arquivo .xlsx do MS-Excel.

  • HPSF (Horrible Property Set Format) - É usado para extrair conjuntos de propriedades dos arquivos do MS-Office.

  • HWPF (Horrible Word Processor Format) - É usado para ler e escrever arquivos de extensão .doc do MS-Word.

  • XWPF (XML Word Processor Format) - É usado para ler e escrever .docx arquivos de extensão do MS-Word.

  • HSLF (Horrible Slide Layout Format) - É usado para ler, criar e editar apresentações do PowerPoint.

  • HDGF (Horrible DiaGram Format) - Contém classes e métodos para arquivos binários do MS-Visio.

  • HPBF (Horrible PuBlisher Format) - É usado para ler e gravar arquivos MS-Publisher.

Este tutorial o orienta através do processo de trabalho em arquivos MS-Word usando Java. Portanto, a discussão está confinada aos componentes HWPF e XWPF.

Note- VERSÕES ANTIGAS DE FORMATOS DE ARQUIVOS BINÁRIOS DE APOIO DE POI, COMO DOC, XLS, PPT, ETC. A VERSÃO 3.5 EM SEGUIDA, POI APOIA FORMATOS DE ARQUIVOS OOXML DE MS-OFFICE, COMO DOCX, XLSX, PPTX, ETC.

Este capítulo o conduz pelo processo de configuração do Apache POI em sistemas baseados em Windows e Linux. O Apache POI pode ser facilmente instalado e integrado ao seu ambiente Java atual, seguindo algumas etapas simples sem quaisquer procedimentos de configuração complexos. A administração do usuário é necessária durante a instalação.

Requisitos de sistema

JDK Java SE 2 JDK 1.5 ou superior
Memória 1 GB de RAM (recomendado)
Espaço em disco Sem requisitos mínimos
Versão do sistema operacional Windows XP ou superior, Linux

Vamos agora prosseguir com as etapas para instalar o Apache POI.

Etapa 1: verifique a instalação do Java

Em primeiro lugar, você precisa ter o Java Software Development Kit (SDK) instalado em seu sistema. Para verificar isso, execute qualquer um dos dois comandos mencionados abaixo, dependendo da plataforma em que está trabalhando.

Se a instalação do Java foi feita corretamente, ele exibirá a versão atual e as especificações de sua instalação do Java. Um exemplo de saída é fornecido na tabela a seguir -

Plataforma Comando Saída de amostra
janelas

Abra o console de comando e digite -

\>java –version

Versão Java "1.7.0_60"

Java (TM) SE Run Time Environment (build 1.7.0_60-b19)

Java Hotspot (TM) Servidor VM de 64 bits (versão 24.60-b09, modo misto)

Linux

Abra o terminal de comando e digite -

$java –version

versão java "1.7.0_25"

Open JDK Runtime Environment (rhel-2.3.10.4.el6_4-x86_64)

Abra o servidor VM JDK de 64 bits (compilação 23.7-b01, modo misto)

  • Presumimos que os leitores deste tutorial tenham o Java SDK versão 1.7.0_60 instalado em seus sistemas.

  • Caso você não tenha Java SDK, baixe sua versão atual em https://www.oracle.com/technetwork/java/javase/downloads/index.html e instalá-lo.

Etapa 2: definir seu ambiente Java

Defina a variável de ambiente JAVA_HOME para apontar para o local do diretório base onde o Java está instalado em sua máquina. Por exemplo,

Plataforma Descrição
janelas Defina JAVA_HOME como C: \ ProgramFiles \ java \ jdk1.7.0_60
Linux Exportar JAVA_HOME = / usr / local / java-current

Anexe o caminho completo do local do compilador Java ao Caminho do sistema.

Plataforma Descrição
janelas Anexe a string "C: \ Arquivos de programas \ Java \ jdk1.7.0_60 \ bin" ao final da variável de sistema PATH.
Linux Exportar PATH = $ PATH: $ JAVA_HOME / bin /

Execute o comando java - version no prompt de comando, conforme explicado acima.

Etapa 3: Instale a biblioteca Apache POI

Baixe a versão mais recente do Apache POI de https://poi.apache.org/download.htmle descompacte seu conteúdo em uma pasta de onde as bibliotecas necessárias podem ser vinculadas ao seu programa Java. Vamos supor que os arquivos sejam coletados em uma pasta na unidade C.

As imagens a seguir mostram os diretórios e a estrutura de arquivos dentro da pasta baixada -

Adicione o caminho completo dos cinco jars como destacado na imagem acima para CLASSPATH.

Plataforma Descrição
janelas

Anexe as seguintes strings ao final da variável de usuário CLASSPATH -

“C: \ poi-3.9 \ poi-3.9-20121203.jar;”

“C: \ poi-3.9 \ poi-ooxml-3.9-20121203.jar;”

“C: \ poi-3.9 \ poi-ooxml-schemas-3.9-20121203.jar;”

“C: \ poi-3.9 \ ooxml-lib \ dom4j-1.6.1.jar;”

“C: \ poi-3.9 \ ooxml-lib \ xmlbeans-2.3.0.jar;.;”

Linux

Exportar CLASSPATH = $ CLASSPATH:

/usr/share/poi-3.9/poi-3.9-20121203.tar:

/usr/share/poi-3.9/poi-ooxml-schemas-3.9-20121203.tar:

/usr/share/poi-3.9/poi-ooxml-3.9-20121203.tar:

/usr/share/poi-3.9/ooxml-lib/dom4j-1.6.1.tar:

/usr/share/poi-3.9/ooxml-lib/xmlbeans-2.3.0.tar

Este capítulo apresenta as classes e métodos do Apache POI para gerenciar um documento do Word.

Documento

Esta é uma interface de marcador (interface não contém métodos), que avisa que a classe implementada pode ser capaz de criar um documento do Word.

XWPFDocument

Esta é uma aula sob org.apache.poi.xwpf.usermodelpacote. É usado para criar documentos do MS-Word com formato de arquivo .docx.

Métodos de aula

Sr. Não. Método e Descrição
1

commit()

Confirma e salva o documento.

2

createParagraph()

Acrescenta um novo parágrafo a este documento.

3

createTable()

Cria uma tabela vazia com uma linha e uma coluna como padrão.

4

createTOC()

Cria um índice para o documento do Word.

5

getParagraphs()

Retorna o (s) parágrafo (s) que contém o texto do cabeçalho ou rodapé.

6

getStyle()

Retorna o objeto de estilos usado.

Para os métodos restantes desta classe, consulte o documento API completo em -

Pacote org.apache.poi.openxml4j.opc.internal .

XWPFParagraph

Esta é uma aula sob org.apache.poi.xwpf.usermodelpacote e é usado para criar parágrafos em um documento do Word. Esta instância também é usada para adicionar todos os tipos de elementos ao documento do Word.

Métodos de aula

Sr. Não. Método e Descrição
1

createRun()

Acrescenta uma nova execução a este parágrafo.

2

getAlignment()

Retorna o alinhamento do parágrafo que deve ser aplicado ao texto neste parágrafo.

3

setAlignment(ParagraphAlignment align)

Especifica o alinhamento do parágrafo que deve ser aplicado ao texto neste parágrafo.

4

setBorderBottom(Borders border)

Especifica a borda que deve ser exibida abaixo de um conjunto de parágrafos, que têm o mesmo conjunto de configurações de borda de parágrafo.

5

setBorderLeft(Borders border)

Especifica a borda que deve ser exibida no lado esquerdo da página em torno do parágrafo especificado.

6

setBorderRight(Borders border)

Especifica a borda que deve ser exibida no lado direito da página em torno do parágrafo especificado.

7

setBorderTop(Borders border)

Especifica a borda que deve ser exibida acima de um conjunto de parágrafos que possuem o mesmo conjunto de configurações de borda de parágrafo.

Para os métodos restantes desta classe, consulte o documento API completo em -

Documentação da API POI

XWPFRun

Esta é uma aula sob org.apache.poi.xwpf.usermodel pacote e é usado para adicionar uma região de texto ao parágrafo.

Métodos de aula

Sr. Não. Método e Descrição
1

addBreak()

Especifica que uma pausa deve ser colocada no local atual no conteúdo da corrida.

2

addTab()

Especifica que uma guia deve ser colocada no local atual no conteúdo da corrida.

3

setColor(java.lang.String rgbStr)

Define a cor do texto.

4

setFontSize(int size)

Especifica o tamanho da fonte que deve ser aplicado a todos os caracteres de script não complexos no conteúdo desta execução quando exibido.

5

setText(java.lang.String value)

Define o texto desta sequência de texto.

6

setBold(boolean value)

Especifica se a propriedade negrito deve ser aplicada a todos os caracteres de script não complexos no conteúdo desta execução quando exibida em um documento.

Para os métodos restantes desta classe, consulte o documento API completo em -

Documentação da API POI

XWPFStyle

Esta é uma aula sob org.apache.poi.xwpf.usermodel pacote e é usado para adicionar estilos diferentes aos elementos do objeto em um documento do Word.

Métodos de aula

Sr. Não. Método e Descrição
1

getNextStyleID()

É usado para obter o StyleID do próximo estilo.

2

getStyleId()

É usado para obter o StyleID do estilo.

3

getStyles()

É usado para obter estilos.

4

setStyleId(java.lang.String styleId)

É usado para definir o styleID.

Para os métodos restantes desta classe, consulte o documento API completo em -

Documentação da API POI

XWPFTable

Esta é uma aula sob org.apache.poi.xwpf.usermodel pacote e é usado para adicionar dados de tabela em um documento do Word.

Métodos de aula

Sr. Não. Método e Descrição
1

addNewCol()

Adiciona uma nova coluna para cada linha nesta tabela.

2

addRow(XWPFTableRow row, int pos)

Adiciona uma nova linha à tabela na posição pos.

3

createRow()

Cria um novo objeto XWPFTableRow com tantas células quantas forem as colunas definidas naquele momento.

4

setWidth(int width)

Define a largura da coluna.

Para os métodos restantes desta classe, consulte o documento API completo em: POI API Documentation

XWPFWordExtractor

Esta é uma aula sob org.apache.poi.xwpf.extractorpacote. É uma classe de analisador básica usada para extrair o texto simples de um documento do Word.

Métodos de aula

Sr. Não. Método e Descrição
1

getText()

Recupera todo o texto do documento.

Para os métodos restantes desta classe, consulte o documento API completo em: POI API Documentation

Aqui, o termo 'documento' se refere a um arquivo MS-Word. Após a conclusão deste capítulo, você será capaz de criar novos documentos e abrir documentos existentes usando seu programa Java.

Criar Documento em Branco

O seguinte programa simples é usado para criar um documento em branco do MS-Word -

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.XWPFDocument;

public class CreateDocument {

   public static void main(String[] args)throws Exception  {
   
      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
		
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream( new File("createdocument.docx"));
      document.write(out);
      out.close();
      System.out.println("createdocument.docx written successully");
   }
}

Salve o código Java acima como CreateDocument.java, e então compilar e executar a partir do prompt de comando da seguinte forma -

$javac  CreateDocument.java
$java CreateDocument

Se o ambiente do seu sistema estiver configurado com a biblioteca POI, ele irá compilar e executar para gerar um arquivo Excel em branco chamado createdocument.docx em seu diretório atual e exibir a seguinte saída no prompt de comando -

createdocument.docx written successfully

Neste capítulo, você aprenderá como criar um parágrafo e como adicioná-lo a um documento usando Java. O parágrafo é uma parte de uma página em um arquivo do Word.

Depois de concluir este capítulo, você será capaz de criar um parágrafo e realizar operações de leitura nele.

Crie um Parágrafo

Em primeiro lugar, vamos criar um parágrafo usando as classes referenciadas discutidas nos capítulos anteriores. Seguindo o capítulo anterior, crie um Documento primeiro, e então podemos criar um Parágrafo.

O seguinte snippet de código é usado para criar uma planilha -

//Create Blank document
   XWPFDocument document = new XWPFDocument();

//Create a blank spreadsheet
   XWPFParagraph paragraph = document.createParagraph();

Executar no parágrafo

Você pode inserir o texto ou qualquer elemento de objeto, usando Run. Usando a instância de parágrafo, você pode criarrun.

O fragmento de código a seguir é usado para criar uma execução.

XWPFRun run = paragraph.createRun();

Escreva em um parágrafo

Vamos tentar inserir algum texto em um documento. Considere os dados de texto abaixo -

At tutorialspoint.com, we strive hard to provide quality tutorials for self-learning
purpose in the domains of Academics, Information Technology, Management and Computer
Programming Languages.

O código a seguir é usado para gravar os dados acima em um parágrafo.

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class CreateParagraph {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
      
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(new File("createparagraph.docx"));
        
      //create Paragraph
      XWPFParagraph paragraph = document.createParagraph();
      XWPFRun run = paragraph.createRun();
      run.setText("At tutorialspoint.com, we strive hard to " +
         "provide quality tutorials for self-learning " +
         "purpose in the domains of Academics, Information " +
         "Technology, Management and Computer Programming
         Languages.");
			
      document.write(out);
      out.close();
      System.out.println("createparagraph.docx written successfully");
   }
}

Salve o código Java acima como CreateParagraph.java, e, em seguida, compilar e executá-lo a partir do prompt de comando da seguinte maneira -

$javac CreateParagraph.java
$java CreateParagraph

Ele irá compilar e executar para gerar um arquivo Word chamado createparagraph.docx em seu diretório atual e você obterá a seguinte saída no prompt de comando -

createparagraph.docx written successfully

o createparagraph.docx arquivo tem a seguinte aparência.

Neste capítulo, você aprenderá como aplicar a borda a um parágrafo usando a programação Java.

Aplicando Borda

O código a seguir é usado para aplicar bordas em um documento -

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.Borders;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class ApplyingBorder {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
        
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(new File("applyingborder.docx"));
        
      //create paragraph
      XWPFParagraph paragraph = document.createParagraph();
        
      //Set bottom border to paragraph
      paragraph.setBorderBottom(Borders.BASIC_BLACK_DASHES);
        
      //Set left border to paragraph
      paragraph.setBorderLeft(Borders.BASIC_BLACK_DASHES);
        
      //Set right border to paragraph
      paragraph.setBorderRight(Borders.BASIC_BLACK_DASHES);
        
      //Set top border to paragraph
      paragraph.setBorderTop(Borders.BASIC_BLACK_DASHES);
        
      XWPFRun run = paragraph.createRun();
         run.setText("At tutorialspoint.com, we strive hard to " +
         "provide quality tutorials for self-learning " +
         "purpose in the domains of Academics, Information " +
         "Technology, Management and Computer Programming " +
         "Languages.");
        
      document.write(out);
      out.close();
      System.out.println("applyingborder.docx written successully");
   }
}

Salve o código acima em um arquivo chamado ApplyingBorder.java, compile e execute-o a partir do prompt de comando da seguinte forma -

$javac ApplyingBorder.java
$java ApplyingBorder

Se o seu sistema estiver configurado com a biblioteca POI, ele irá compilar e executar para gerar um documento Word chamado applyingborder.docx em seu diretório atual e exiba a seguinte saída -

applyingborder.docx written successfully

o applyingborder.docx arquivo tem a seguinte aparência -

Neste capítulo, você aprenderá a criar uma tabela de dados em um documento. Você pode criar uma tabela de dados usandoXWPFTableclasse. Adicionando cadaRow à mesa e adicionando cada cell para Row, você obterá dados da tabela.

Criar a tabela

O código a seguir é usado para criar uma tabela em um documento -

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableRow;

public class CreateTable {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument();
        
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(new File("create_table.docx"));
        
      //create table
      XWPFTable table = document.createTable();
		
      //create first row
      XWPFTableRow tableRowOne = table.getRow(0);
      tableRowOne.getCell(0).setText("col one, row one");
      tableRowOne.addNewTableCell().setText("col two, row one");
      tableRowOne.addNewTableCell().setText("col three, row one");
		
      //create second row
      XWPFTableRow tableRowTwo = table.createRow();
      tableRowTwo.getCell(0).setText("col one, row two");
      tableRowTwo.getCell(1).setText("col two, row two");
      tableRowTwo.getCell(2).setText("col three, row two");
		
      //create third row
      XWPFTableRow tableRowThree = table.createRow();
      tableRowThree.getCell(0).setText("col one, row three");
      tableRowThree.getCell(1).setText("col two, row three");
      tableRowThree.getCell(2).setText("col three, row three");
	
      document.write(out);
      out.close();
      System.out.println("create_table.docx written successully");
   }
}

Salve o código acima em um arquivo chamado CreateTable.java. Compile e execute-o a partir do prompt de comando da seguinte maneira -

$javac CreateTable.java
$java CreateTable

Ele gera um arquivo Word chamado createtable.docx em seu diretório atual e exibir a seguinte saída no prompt de comando -

createtable.docx written successfully

o createtable.docx arquivo tem a seguinte aparência -

Este capítulo mostra como aplicar diferentes estilos de fonte e alinhamentos em um documento do Word usando Java. Geralmente, o Estilo da fonte contém: Tamanho da fonte, Tipo, Negrito, Itálico e Sublinhado. E o alinhamento é categorizado em esquerda, centro, direita e justificar.

Estilo de fonte

O código a seguir é usado para definir diferentes estilos de fonte -

import java.io.File;
import java.io.FileOutputStream;

import org.apache.poi.xwpf.usermodel.VerticalAlign;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class FontStyle {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
        
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(new File("fontstyle.docx"));
        
      //create paragraph
      XWPFParagraph paragraph = document.createParagraph();
        
      //Set Bold an Italic
      XWPFRun paragraphOneRunOne = paragraph.createRun();
      paragraphOneRunOne.setBold(true);
      paragraphOneRunOne.setItalic(true);
      paragraphOneRunOne.setText("Font Style");
      paragraphOneRunOne.addBreak();
        
      //Set text Position
      XWPFRun paragraphOneRunTwo = paragraph.createRun();
      paragraphOneRunTwo.setText("Font Style two");
      paragraphOneRunTwo.setTextPosition(100);
 
      //Set Strike through and Font Size and Subscript
      XWPFRun paragraphOneRunThree = paragraph.createRun();
      paragraphOneRunThree.setStrike(true);
      paragraphOneRunThree.setFontSize(20);
      paragraphOneRunThree.setSubscript(VerticalAlign.SUBSCRIPT);
      paragraphOneRunThree.setText(" Different Font Styles");
        
      document.write(out);
      out.close();
      System.out.println("fontstyle.docx written successully");
   }
}

Salve o código acima como FontStyle.java e então compilar e executar a partir do prompt de comando da seguinte forma -

$javac FontStyle.java
$java FontStyle

Irá gerar um arquivo Word chamado fontstyle.docx em seu diretório atual e exibir a seguinte saída no prompt de comando -

fontstyle.docx written successfully

o fontstyle.docx arquivo tem a seguinte aparência.

Alinhamento

O código a seguir é usado para definir o alinhamento do texto do parágrafo -

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class AlignParagraph {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
        
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(
      new File("alignparagraph.docx"));
        
      //create paragraph
      XWPFParagraph paragraph = document.createParagraph();
        
      //Set alignment paragraph to RIGHT
      paragraph.setAlignment(ParagraphAlignment.RIGHT);
      XWPFRun run = paragraph.createRun();
      run.setText("At tutorialspoint.com, we strive hard to " +
         "provide quality tutorials for self-learning " +
         "purpose in the domains of Academics, Information " +
         "Technology, Management and Computer Programming " +
         "Languages.");
        
      //Create Another paragraph
      paragraph = document.createParagraph();
        
      //Set alignment paragraph to CENTER
      paragraph.setAlignment(ParagraphAlignment.CENTER);
      run = paragraph.createRun();
      run.setText("The endeavour started by Mohtashim, an AMU " +
         "alumni, who is the founder and the managing director " +
         "of Tutorials Point (I) Pvt. Ltd. He came up with the " +
         "website tutorialspoint.com in year 2006 with the help" +
         "of handpicked freelancers, with an array of tutorials" +
         " for computer programming languages. ");
			
      document.write(out);
      out.close();
      System.out.println("alignparagraph.docx written successfully");
   }
}

Salve o código acima como AlignParagraph.java e então compilar e executar a partir do prompt de comando da seguinte forma -

$javac AlignParagraph.java
$java AlignParagraph

Irá gerar um arquivo Word chamado alignparagraph.docx em seu diretório atual e exibir a seguinte saída no prompt de comando -

alignparagraph.docx written successfully

o alignparagraph.docx arquivo tem a seguinte aparência -

Este capítulo explica como extrair dados de texto simples de um documento do Word usando Java. Caso você queira extrair metadados de um documento do Word, use o Apache Tika.

Para arquivos .docx, usamos a classe org.apache.poi.xwpf.extractor.XPFFWordExtractor que extrai e retorna dados simples de um arquivo Word. Da mesma forma, temos diferentes metodologias para extrair títulos, notas de rodapé, dados de tabelas, etc. de um arquivo Word.

O código a seguir mostra como extrair texto simples de um arquivo Word -

import java.io.FileInputStream;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;

public class WordExtractor {

   public static void main(String[] args)throws Exception {

      XWPFDocument docx = new XWPFDocument(new FileInputStream("create_paragraph.docx"));
      
      //using XWPFWordExtractor Class
      XWPFWordExtractor we = new XWPFWordExtractor(docx);
      System.out.println(we.getText());
   }
}

Salve o código acima como WordExtractor.java. Compile e execute-o a partir do prompt de comando da seguinte maneira -

$javac WordExtractor.java
$java WordExtractor

Ele irá gerar a seguinte saída:

At tutorialspoint.com, we strive hard to provide quality tutorials for self-learning
purpose in the domains of Academics, Information Technology, Management and Computer
Programming Languages.