Apache POI Word - Guía rápida

Muchas veces, se requiere una aplicación de software para generar documentos de referencia en formato de archivo de Microsoft Word. A veces, incluso se espera que una aplicación reciba archivos de Word como datos de entrada.

Cualquier programador de Java que desee producir archivos de MS-Office como salida debe usar una API predefinida y de solo lectura para hacerlo.

¿Qué es Apache POI?

Apache POI es una API popular que permite a los programadores crear, modificar y mostrar archivos de MS-Office utilizando programas Java. Es una biblioteca de código abierto desarrollada y distribuida por Apache Software Foundation para diseñar o modificar archivos de MS-Office usando el programa Java. Contiene clases y métodos para decodificar los datos de entrada del usuario o un archivo en documentos de MS-Office.

Componentes de Apache POI

Apache POI contiene clases y métodos para trabajar en todos los documentos compuestos OLE2 de MS-Office. La lista de componentes de esta API se proporciona a continuación:

  • POIFS (Poor Obfuscation Implementation File System)- Este componente es el factor básico de todos los demás elementos de POI. Se utiliza para leer distintos archivos de forma explícita.

  • HSSF (Horrible SpreadSheet Format) - Se utiliza para leer y escribir en formato .xls de archivos MS-Excel.

  • XSSF (XML SpreadSheet Format) - Se utiliza para el formato de archivo .xlsx de MS-Excel.

  • HPSF (Horrible Property Set Format) - Se utiliza para extraer conjuntos de propiedades de los archivos de MS-Office.

  • HWPF (Horrible Word Processor Format) - Se utiliza para leer y escribir archivos de extensión .doc de MS-Word.

  • XWPF (XML Word Processor Format) - Se usa para leer y escribir .docx archivos de extensión de MS-Word.

  • HSLF (Horrible Slide Layout Format) - Se utiliza para leer, crear y editar presentaciones de PowerPoint.

  • HDGF (Horrible DiaGram Format) - Contiene clases y métodos para archivos binarios de MS-Visio.

  • HPBF (Horrible PuBlisher Format) - Se utiliza para leer y escribir archivos de MS-Publisher.

Este tutorial lo guía a través del proceso de trabajo en archivos de MS-Word usando Java. Por lo tanto, la discusión se limita a los componentes HWPF y XWPF.

Note- VERSIONES ANTIGUAS DE FORMATOS DE ARCHIVOS BINARIOS DE APOYO DE POI, COMO DOC, XLS, PPT, ETC. VERSIÓN 3.5 EN ADELANTE, POI SOPORTA FORMATOS DE ARCHIVO OOXML DE MS-OFFICE COMO DOCX, XLSX, PPTX, ETC.

Este capítulo lo lleva a través del proceso de configuración de Apache POI en sistemas basados ​​en Windows y Linux. Apache POI se puede instalar e integrar fácilmente con su entorno Java actual, siguiendo unos sencillos pasos sin ningún complejo procedimiento de configuración. Se requiere la administración de usuarios durante la instalación.

Requisitos del sistema

JDK Java SE 2 JDK 1.5 o superior
Memoria 1 GB de RAM (recomendado)
Espacio del disco Sin requisito mínimo
Versión del sistema operativo Windows XP o superior, Linux

Procedamos ahora con los pasos para instalar Apache POI.

Paso 1: Verifique su instalación de Java

En primer lugar, debe tener instalado el kit de desarrollo de software (SDK) de Java en su sistema. Para verificar esto, ejecute cualquiera de los dos comandos mencionados a continuación, dependiendo de la plataforma en la que esté trabajando.

Si la instalación de Java se ha realizado correctamente, mostrará la versión actual y la especificación de su instalación de Java. En la siguiente tabla se proporciona un resultado de muestra:

Plataforma Mando Salida de muestra
Ventanas

Abra la consola de comandos y escriba -

\>java –version

Versión de Java "1.7.0_60"

Entorno de tiempo de ejecución Java (TM) SE (compilación 1.7.0_60-b19)

VM de servidor Java Hotspot (TM) de 64 bits (compilación 24.60-b09, modo mixto)

Linux

Abra el terminal de comando y escriba -

$java –version

versión de Java "1.7.0_25"

Entorno de tiempo de ejecución abierto de JDK (rhel-2.3.10.4.el6_4-x86_64)

Abra la máquina virtual del servidor JDK de 64 bits (compilación 23.7-b01, modo mixto)

Paso 2: configura tu entorno Java

Configure la variable de entorno JAVA_HOME para que apunte a la ubicación del directorio base donde está instalado Java en su máquina. Por ejemplo,

Plataforma Descripción
Ventanas Establezca JAVA_HOME en C: \ ProgramFiles \ java \ jdk1.7.0_60
Linux Exportar JAVA_HOME = / usr / local / java-current

Agregue la ruta completa de la ubicación del compilador Java a la ruta del sistema.

Plataforma Descripción
Ventanas Agregue la cadena "C: \ Archivos de programa \ Java \ jdk1.7.0_60 \ bin" al final de la variable de sistema PATH.
Linux Exportar RUTA = $ RUTA: $ JAVA_HOME / bin /

Ejecuta el comando java - version desde el símbolo del sistema como se explicó anteriormente.

Paso 3: instalar la biblioteca de puntos de interés de Apache

Descargue la última versión de Apache POI de https://poi.apache.org/download.htmly descomprima su contenido en una carpeta desde donde las bibliotecas necesarias se pueden vincular a su programa Java. Supongamos que los archivos se recopilan en una carpeta en la unidad C.

Las siguientes imágenes muestran los directorios y la estructura de archivos dentro de la carpeta descargada:

Agrega la ruta completa de los cinco jars como se resalta en la imagen de arriba en CLASSPATH.

Plataforma Descripción
Ventanas

Agregue las siguientes cadenas al final de la variable de usuario 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 lo lleva a través de las clases y métodos de Apache POI para administrar un documento de Word.

Documento

Esta es una interfaz de marcador (la interfaz no contiene ningún método), que notifica que la clase implementada puede crear un documento de Word.

XWPFDocument

Esta es una clase bajo org.apache.poi.xwpf.usermodelpaquete. Se utiliza para crear documentos de MS-Word con formato de archivo .docx.

Métodos de clase

No Señor. Método y descripción
1

commit()

Confirma y guarda el documento.

2

createParagraph()

Añade un nuevo párrafo a este documento.

3

createTable()

Crea una tabla vacía con una fila y una columna por defecto.

4

createTOC()

Crea una tabla de contenido para documentos de Word.

5

getParagraphs()

Devuelve los párrafos que contienen el texto del encabezado o pie de página.

6

getStyle()

Devuelve el objeto de estilos utilizado.

Para los métodos restantes de esta clase, consulte el documento API completo en -

Paquete org.apache.poi.openxml4j.opc.internal .

XWPFPárrafo

Esta es una clase bajo org.apache.poi.xwpf.usermodelpaquete y se utiliza para crear párrafos en un documento de Word. Esta instancia también se usa para agregar todo tipo de elementos en un documento de Word.

Métodos de clase

No Señor. Método y descripción
1

createRun()

Agrega una nueva ejecución a este párrafo.

2

getAlignment()

Devuelve la alineación del párrafo que se aplicará al texto de este párrafo.

3

setAlignment(ParagraphAlignment align)

Especifica la alineación del párrafo que se aplicará al texto de este párrafo.

4

setBorderBottom(Borders border)

Especifica el borde que se mostrará debajo de un conjunto de párrafos, que tienen el mismo conjunto de configuraciones de borde de párrafo.

5

setBorderLeft(Borders border)

Especifica el borde que se mostrará en el lado izquierdo de la página alrededor del párrafo especificado.

6

setBorderRight(Borders border)

Especifica el borde que se mostrará en el lado derecho de la página alrededor del párrafo especificado.

7

setBorderTop(Borders border)

Especifica el borde que se mostrará sobre un conjunto de párrafos que tienen el mismo conjunto de configuraciones de borde de párrafo.

Para los métodos restantes de esta clase, consulte el documento API completo en -

Documentación de la API de POI

XWPFRun

Esta es una clase bajo org.apache.poi.xwpf.usermodel package y se utiliza para agregar una región de texto al párrafo.

Métodos de clase

No Señor. Método y descripción
1

addBreak()

Especifica que se colocará una pausa en la ubicación actual en el contenido de la ejecución.

2

addTab()

Especifica que se colocará una pestaña en la ubicación actual en el contenido de la ejecución.

3

setColor(java.lang.String rgbStr)

Establece el color del texto.

4

setFontSize(int size)

Especifica el tamaño de fuente que se aplicará a todos los caracteres de script no complejos en el contenido de esta ejecución cuando se muestre.

5

setText(java.lang.String value)

Establece el texto de esta ejecución de texto.

6

setBold(boolean value)

Especifica si la propiedad de negrita se aplicará a todos los caracteres de script no complejos en el contenido de esta ejecución cuando se muestre en un documento.

Para los métodos restantes de esta clase, consulte el documento API completo en -

Documentación de la API de POI

XWPFStyle

Esta es una clase bajo org.apache.poi.xwpf.usermodel package y se utiliza para agregar diferentes estilos a los elementos del objeto en un documento de Word.

Métodos de clase

No Señor. Método y descripción
1

getNextStyleID()

Se utiliza para obtener StyleID del siguiente estilo.

2

getStyleId()

Se utiliza para obtener StyleID del estilo.

3

getStyles()

Se usa para obtener estilos.

4

setStyleId(java.lang.String styleId)

Se utiliza para establecer styleID.

Para los métodos restantes de esta clase, consulte el documento API completo en -

Documentación de la API de POI

XWPFTable

Esta es una clase bajo org.apache.poi.xwpf.usermodel paquete y se utiliza para agregar datos de tabla en un documento de Word.

Métodos de clase

No Señor. Método y descripción
1

addNewCol()

Agrega una nueva columna para cada fila de esta tabla.

2

addRow(XWPFTableRow row, int pos)

Agrega una nueva Fila a la mesa en la posición pos.

3

createRow()

Crea un nuevo objeto XWPFTableRow con tantas celdas como el número de columnas definidas en ese momento.

4

setWidth(int width)

Establece el ancho de la columna.

Para los métodos restantes de esta clase, consulte el documento API completo en: POI API Documentation

XWPFWordExtractor

Esta es una clase bajo org.apache.poi.xwpf.extractorpaquete. Es una clase analizadora básica que se utiliza para extraer el texto simple de un documento de Word.

Métodos de clase

No Señor. Método y descripción
1

getText()

Recupera todo el texto del documento.

Para los métodos restantes de esta clase, consulte el documento API completo en: POI API Documentation

Aquí, el término "documento" se refiere a un archivo de MS-Word. Después de completar este capítulo, podrá crear nuevos documentos y abrir documentos existentes utilizando su programa Java.

Crear documento en blanco

El siguiente programa simple se utiliza para crear un documento de MS-Word en blanco:

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

Guarde el código Java anterior como CreateDocument.java, y luego compílelo y ejecútelo desde el símbolo del sistema de la siguiente manera:

$javac  CreateDocument.java
$java CreateDocument

Si el entorno de su sistema está configurado con la biblioteca de puntos de interés, se compilará y ejecutará para generar un archivo de Excel en blanco llamado createdocument.docx en su directorio actual y muestre el siguiente resultado en el símbolo del sistema:

createdocument.docx written successfully

En este capítulo, aprenderá cómo crear un párrafo y cómo agregarlo a un documento usando Java. El párrafo es parte de una página en un archivo de Word.

Después de completar este capítulo, podrá crear un párrafo y realizar operaciones de lectura en él.

Crear un párrafo

En primer lugar, creemos un párrafo usando las clases referenciadas discutidas en los capítulos anteriores. Siguiendo el capítulo anterior, primero cree un documento y luego podemos crear un párrafo.

El siguiente fragmento de código se utiliza para crear una hoja de cálculo:

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

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

Ejecutar en párrafo

Puede ingresar el texto o cualquier elemento del objeto, usando Run. Con la instancia de párrafo puede crearrun.

El siguiente fragmento de código se utiliza para crear una ejecución.

XWPFRun run = paragraph.createRun();

Escribir en un párrafo

Intentemos ingresar texto en un documento. Considere los datos de texto siguientes:

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.

El siguiente código se utiliza para escribir los datos anteriores en un párrafo.

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

Guarde el código Java anterior como CreateParagraph.java, y luego compílelo y ejecútelo desde el símbolo del sistema de la siguiente manera:

$javac CreateParagraph.java
$java CreateParagraph

Se compilará y ejecutará para generar un archivo de Word llamado createparagraph.docx en su directorio actual y obtendrá el siguiente resultado en el símbolo del sistema:

createparagraph.docx written successfully

los createparagraph.docx archivo tiene el siguiente aspecto.

En este capítulo, aprenderá cómo aplicar un borde a un párrafo utilizando la programación Java.

Aplicar borde

El siguiente código se usa para aplicar bordes en un 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");
   }
}

Guarde el código anterior en un archivo llamado ApplyingBorder.java, compílelo y ejecútelo desde el símbolo del sistema de la siguiente manera:

$javac ApplyingBorder.java
$java ApplyingBorder

Si su sistema está configurado con la biblioteca de puntos de interés, se compilará y ejecutará para generar un documento de Word llamado applyingborder.docx en su directorio actual y muestre la siguiente salida:

applyingborder.docx written successfully

los applyingborder.docx archivo tiene el siguiente aspecto:

En este capítulo, aprenderá a crear una tabla de datos en un documento. Puede crear una tabla de datos usandoXWPFTableclase. Añadiendo cadaRow a la mesa y agregando cada uno cell a Row, obtendrá datos de la tabla.

Crear mesa

El siguiente código se utiliza para crear tablas en un 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");
   }
}

Guarde el código anterior en un archivo llamado CreateTable.java. Compílelo y ejecútelo desde el símbolo del sistema de la siguiente manera:

$javac CreateTable.java
$java CreateTable

Genera un archivo de Word llamado createtable.docx en su directorio actual y muestre la siguiente salida en el símbolo del sistema:

createtable.docx written successfully

los createtable.docx archivo tiene el siguiente aspecto:

Este capítulo muestra cómo aplicar diferentes estilos de fuente y alineaciones en un documento de Word usando Java. Generalmente, el estilo de fuente contiene: tamaño de fuente, tipo, negrita, cursiva y subrayado. Y la alineación se clasifica en izquierda, centro, derecha y justificar.

Estilo de fuente

El siguiente código se utiliza para establecer diferentes estilos de fuente:

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

Guarde el código anterior como FontStyle.java y luego compílelo y ejecútelo desde el símbolo del sistema de la siguiente manera:

$javac FontStyle.java
$java FontStyle

Generará un archivo de Word llamado fontstyle.docx en su directorio actual y muestre la siguiente salida en el símbolo del sistema:

fontstyle.docx written successfully

los fontstyle.docx archivo tiene el siguiente aspecto.

Alineación

El siguiente código se utiliza para establecer la alineación con el texto del párrafo:

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

Guarde el código anterior como AlignParagraph.java y luego compílelo y ejecútelo desde el símbolo del sistema de la siguiente manera:

$javac AlignParagraph.java
$java AlignParagraph

Generará un archivo de Word llamado alignparagraph.docx en su directorio actual y muestre el siguiente resultado en el símbolo del sistema:

alignparagraph.docx written successfully

los alignparagraph.docx archivo tiene el siguiente aspecto:

Este capítulo explica cómo extraer datos de texto simple de un documento de Word usando Java. En caso de que desee extraer metadatos de un documento de Word, utilice Apache Tika.

Para archivos .docx, usamos la clase org.apache.poi.xwpf.extractor.XPFFWordExtractor que extrae y devuelve datos simples de un archivo de Word. De la misma forma, contamos con diferentes metodologías para extraer encabezados, notas al pie, datos de tablas, etc. de un archivo de Word.

El siguiente código muestra cómo extraer texto simple de un archivo de 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());
   }
}

Guarde el código anterior como WordExtractor.java. Compílelo y ejecútelo desde el símbolo del sistema de la siguiente manera:

$javac WordExtractor.java
$java WordExtractor

Generará la siguiente salida:

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.