Apache POI Word - Guide rapide

Plusieurs fois, une application logicielle est nécessaire pour générer des documents de référence au format de fichier Microsoft Word. Parfois, une application est même censée recevoir des fichiers Word en tant que données d'entrée.

Tout programmeur Java qui souhaite produire des fichiers MS-Office en tant que sortie doit utiliser une API prédéfinie et en lecture seule pour ce faire.

Qu'est-ce que Apache POI?

Apache POI est une API populaire qui permet aux programmeurs de créer, modifier et afficher des fichiers MS-Office à l'aide de programmes Java. Il s'agit d'une bibliothèque open source développée et distribuée par Apache Software Foundation pour concevoir ou modifier des fichiers MS-Office à l'aide du programme Java. Il contient des classes et des méthodes pour décoder les données d'entrée utilisateur ou un fichier en documents MS-Office.

Composants d'Apache POI

Apache POI contient des classes et des méthodes pour travailler sur tous les documents OLE2 Compound de MS-Office. La liste des composants de cette API est donnée ci-dessous -

  • POIFS (Poor Obfuscation Implementation File System)- Ce composant est le facteur de base de tous les autres éléments POI. Il est utilisé pour lire explicitement différents fichiers.

  • HSSF (Horrible SpreadSheet Format) - Il est utilisé pour lire et écrire au format .xls des fichiers MS-Excel.

  • XSSF (XML SpreadSheet Format) - Il est utilisé pour le format de fichier .xlsx de MS-Excel.

  • HPSF (Horrible Property Set Format) - Il est utilisé pour extraire les jeux de propriétés des fichiers MS-Office.

  • HWPF (Horrible Word Processor Format) - Il est utilisé pour lire et écrire des fichiers d'extension .doc de MS-Word.

  • XWPF (XML Word Processor Format) - Il est utilisé pour lire et écrire .docx fichiers d'extension de MS-Word.

  • HSLF (Horrible Slide Layout Format) - Il est utilisé pour lire, créer et modifier des présentations PowerPoint.

  • HDGF (Horrible DiaGram Format) - Il contient des classes et des méthodes pour les fichiers binaires MS-Visio.

  • HPBF (Horrible PuBlisher Format) - Il est utilisé pour lire et écrire des fichiers MS-Publisher.

Ce didacticiel vous guide tout au long du processus de travail sur des fichiers MS-Word à l'aide de Java. Par conséquent, la discussion se limite aux composants HWPF et XWPF.

Note- ANCIENNES VERSIONS DE FORMATS DE FICHIER BINAIRE DE SUPPORT POI TELS QUE DOC, XLS, PPT, ETC. VERSION 3.5 À PARTIR DE, POI PREND EN CHARGE LES FORMATS DE FICHIER OOXML DE MS-OFFICE TELS QUE DOCX, XLSX, PPTX, ETC.

Ce chapitre vous guide tout au long du processus de configuration d'Apache POI sur les systèmes Windows et Linux. Apache POI peut être facilement installé et intégré à votre environnement Java actuel, en suivant quelques étapes simples sans aucune procédure de configuration complexe. L'administration des utilisateurs est requise lors de l'installation.

Configuration requise

JDK Java SE 2 JDK 1.5 ou supérieur
Mémoire 1 Go de RAM (recommandé)
Espace disque Aucune exigence minimale
Version du système d'exploitation Windows XP ou supérieur, Linux

Passons maintenant aux étapes d'installation d'Apache POI.

Étape 1: Vérifiez votre installation Java

Tout d'abord, vous devez disposer du kit de développement logiciel Java (SDK) installé sur votre système. Pour vérifier cela, exécutez l'une des deux commandes mentionnées ci-dessous, en fonction de la plate-forme sur laquelle vous travaillez.

Si l'installation de Java a été effectuée correctement, la version actuelle et les spécifications de votre installation Java seront affichées. Un exemple de sortie est donné dans le tableau suivant -

Plate-forme Commander Exemple de sortie
les fenêtres

Ouvrez la console de commande et tapez -

\>java –version

Version Java "1.7.0_60"

Environnement d'exécution Java (TM) SE (build 1.7.0_60-b19)

VM serveur 64 bits Java Hotspot (TM) (build 24.60-b09, mode mixte)

Linux

Ouvrez le terminal de commande et tapez -

$java –version

version java "1.7.0_25"

Ouvrir l'environnement d'exécution JDK (rhel-2.3.10.4.el6_4-x86_64)

Ouvrez la machine virtuelle du serveur JDK 64 bits (build 23.7-b01, mode mixte)

Étape 2: définissez votre environnement Java

Définissez la variable d'environnement JAVA_HOME pour qu'elle pointe vers l'emplacement du répertoire de base où Java est installé sur votre machine. Par exemple,

Plate-forme La description
les fenêtres Définissez JAVA_HOME sur C: \ ProgramFiles \ java \ jdk1.7.0_60
Linux Exporter JAVA_HOME = / usr / local / java-current

Ajoutez le chemin complet de l'emplacement du compilateur Java au chemin système.

Plate-forme La description
les fenêtres Ajoutez la chaîne «C: \ Program Files \ Java \ jdk1.7.0_60 \ bin» à la fin de la variable système PATH.
Linux Exporter PATH = $ PATH: $ JAVA_HOME / bin /

Exécutez la commande java - version à partir de l'invite de commande comme expliqué ci-dessus.

Étape 3: Installez la bibliothèque de POI Apache

Téléchargez la dernière version d'Apache POI sur https://poi.apache.org/download.htmlet décompressez son contenu dans un dossier à partir duquel les bibliothèques requises peuvent être liées à votre programme Java. Supposons que les fichiers sont collectés dans un dossier sur le lecteur C.

Les images suivantes montrent les répertoires et la structure des fichiers dans le dossier téléchargé -

Ajoutez le chemin complet des cinq jars comme mis en évidence dans l'image ci-dessus au CLASSPATH.

Plate-forme La description
les fenêtres

Ajoutez les chaînes suivantes à la fin de la variable utilisateur 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

Exporter 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

Ce chapitre vous présente les classes et méthodes d'Apache POI pour gérer un document Word.

Document

Il s'agit d'une interface de marqueur (l'interface ne contient aucune méthode), qui notifie que la classe implémentée peut être capable de créer un document Word.

XWPFDocument

Ceci est une classe sous org.apache.poi.xwpf.usermodelpaquet. Il est utilisé pour créer un document MS-Word au format de fichier .docx.

Méthodes de classe

N ° Sr. Méthode et description
1

commit()

Valide et enregistre le document.

2

createParagraph()

Ajoute un nouveau paragraphe à ce document.

3

createTable()

Crée une table vide avec une ligne et une colonne par défaut.

4

createTOC()

Crée une table des matières pour le document Word.

5

getParagraphs()

Renvoie le (s) paragraphe (s) contenant le texte de l'en-tête ou du pied de page.

6

getStyle()

Renvoie l'objet styles utilisé.

Pour les autres méthodes de cette classe, reportez-vous au document API complet à l'adresse -

Package org.apache.poi.openxml4j.opc.internal .

XWPFParagraph

Ceci est une classe sous org.apache.poi.xwpf.usermodelpackage et est utilisé pour créer un paragraphe dans un document Word. Cette instance est également utilisée pour ajouter tous les types d'éléments dans un document Word.

Méthodes de classe

N ° Sr. Méthode et description
1

createRun()

Ajoute une nouvelle exécution à ce paragraphe.

2

getAlignment()

Renvoie l'alignement de paragraphe qui doit être appliqué au texte de ce paragraphe.

3

setAlignment(ParagraphAlignment align)

Spécifie l'alignement de paragraphe qui doit être appliqué au texte de ce paragraphe.

4

setBorderBottom(Borders border)

Spécifie la bordure qui doit être affichée sous un ensemble de paragraphes, qui ont le même ensemble de paramètres de bordure de paragraphe.

5

setBorderLeft(Borders border)

Spécifie la bordure qui doit être affichée sur le côté gauche de la page autour du paragraphe spécifié.

6

setBorderRight(Borders border)

Spécifie la bordure qui doit être affichée sur le côté droit de la page autour du paragraphe spécifié.

sept

setBorderTop(Borders border)

Spécifie la bordure qui doit être affichée au-dessus d'un ensemble de paragraphes qui ont le même ensemble de paramètres de bordure de paragraphe.

Pour les autres méthodes de cette classe, reportez-vous au document API complet à l'adresse -

Documentation de l'API POI

XWPFRun

Ceci est une classe sous org.apache.poi.xwpf.usermodel package et est utilisé pour ajouter une zone de texte au paragraphe.

Méthodes de classe

N ° Sr. Méthode et description
1

addBreak()

Spécifie qu'une interruption doit être placée à l'emplacement actuel dans le contenu de l'analyse.

2

addTab()

Spécifie qu'un onglet doit être placé à l'emplacement actuel dans le contenu d'exécution.

3

setColor(java.lang.String rgbStr)

Définit la couleur du texte.

4

setFontSize(int size)

Spécifie la taille de police qui doit être appliquée à tous les caractères de script non complexes dans le contenu de cette exécution lors de l'affichage.

5

setText(java.lang.String value)

Définit le texte de cette exécution de texte.

6

setBold(boolean value)

Spécifie si la propriété bold doit être appliquée à tous les caractères de script non complexes dans le contenu de cette exécution lorsqu'ils sont affichés dans un document.

Pour les autres méthodes de cette classe, reportez-vous au document API complet à l'adresse -

Documentation de l'API POI

XWPFStyle

Ceci est une classe sous org.apache.poi.xwpf.usermodel package et est utilisé pour ajouter différents styles aux éléments d'objet dans un document Word.

Méthodes de classe

N ° Sr. Méthode et description
1

getNextStyleID()

Il est utilisé pour obtenir le StyleID du style suivant.

2

getStyleId()

Il est utilisé pour obtenir le StyleID du style.

3

getStyles()

Il est utilisé pour obtenir des styles.

4

setStyleId(java.lang.String styleId)

Il est utilisé pour définir styleID.

Pour les autres méthodes de cette classe, reportez-vous au document API complet à l'adresse -

Documentation de l'API POI

XWPFTable

Ceci est une classe sous org.apache.poi.xwpf.usermodel package et est utilisé pour ajouter des données de table dans un document Word.

Méthodes de classe

N ° Sr. Méthode et description
1

addNewCol()

Ajoute une nouvelle colonne pour chaque ligne de ce tableau.

2

addRow(XWPFTableRow row, int pos)

Ajoute une nouvelle ligne à la table à la position pos.

3

createRow()

Crée un nouvel objet XWPFTableRow avec autant de cellules que le nombre de colonnes défini à ce moment.

4

setWidth(int width)

Définit la largeur de la colonne.

Pour les autres méthodes de cette classe, reportez-vous au document API complet à l' adresse : Documentation API POI

XWPFWordExtractor

Ceci est une classe sous org.apache.poi.xwpf.extractorpaquet. Il s'agit d'une classe d'analyseur de base utilisée pour extraire le texte simple d'un document Word.

Méthodes de classe

N ° Sr. Méthode et description
1

getText()

Récupère tout le texte du document.

Pour les autres méthodes de cette classe, reportez-vous au document API complet à l' adresse : Documentation API POI

Ici, le terme «document» fait référence à un fichier MS-Word. Une fois ce chapitre terminé, vous serez en mesure de créer de nouveaux documents et d'ouvrir des documents existants à l'aide de votre programme Java.

Créer un document vierge

Le programme simple suivant est utilisé pour créer un document MS-Word vierge -

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

Enregistrez le code Java ci-dessus sous CreateDocument.java, puis compilez et exécutez-le à partir de l'invite de commande comme suit -

$javac  CreateDocument.java
$java CreateDocument

Si votre environnement système est configuré avec la bibliothèque POI, il sera compilé et exécuté pour générer un fichier Excel vierge nommé createdocument.docx dans votre répertoire actuel et affichez la sortie suivante dans l'invite de commande -

createdocument.docx written successfully

Dans ce chapitre, vous apprendrez comment créer un paragraphe et comment l'ajouter à un document à l'aide de Java. Le paragraphe fait partie d'une page dans un fichier Word.

Après avoir terminé ce chapitre, vous pourrez créer un paragraphe et y effectuer des opérations de lecture.

Créer un paragraphe

Tout d'abord, créons un paragraphe en utilisant les classes référencées discutées dans les chapitres précédents. En suivant le chapitre précédent, créez d'abord un document, puis nous pouvons créer un paragraphe.

L'extrait de code suivant est utilisé pour créer une feuille de calcul -

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

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

Exécuter sur le paragraphe

Vous pouvez saisir le texte ou tout élément d'objet en utilisant Run. En utilisant l'instance de paragraphe, vous pouvez créerrun.

L'extrait de code suivant est utilisé pour créer un Run.

XWPFRun run = paragraph.createRun();

Écrire dans un paragraphe

Essayons de saisir du texte dans un document. Considérez les données textuelles ci-dessous -

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.

Le code suivant est utilisé pour écrire les données ci-dessus dans un paragraphe.

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

Enregistrez le code Java ci-dessus sous CreateParagraph.java, puis compilez et exécutez-le à partir de l'invite de commande comme suit -

$javac CreateParagraph.java
$java CreateParagraph

Il se compilera et s'exécutera pour générer un fichier Word nommé createparagraph.docx dans votre répertoire actuel et vous obtiendrez la sortie suivante dans l'invite de commande -

createparagraph.docx written successfully

le createparagraph.docx Le fichier se présente comme suit.

Dans ce chapitre, vous apprendrez comment appliquer une bordure à un paragraphe à l'aide de la programmation Java.

Application de la bordure

Le code suivant est utilisé pour appliquer des bordures dans un document -

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

Enregistrez le code ci-dessus dans un fichier nommé ApplyingBorder.java, compilez-le et exécutez-le à partir de l'invite de commande comme suit -

$javac ApplyingBorder.java
$java ApplyingBorder

Si votre système est configuré avec la bibliothèque POI, il se compilera et s'exécutera pour générer un document Word nommé applyingborder.docx dans votre répertoire actuel et affichez la sortie suivante -

applyingborder.docx written successfully

le applyingborder.docx le fichier ressemble à ceci -

Dans ce chapitre, vous apprendrez à créer une table de données dans un document. Vous pouvez créer des données de table en utilisantXWPFTableclasse. En ajoutant chacunRow à la table et en ajoutant chacun cell à Row, vous obtiendrez des données de table.

Créer une table

Le code suivant est utilisé pour créer un tableau dans un document -

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

Enregistrez le code ci-dessus dans un fichier nommé CreateTable.java. Compilez et exécutez-le à partir de l'invite de commande comme suit -

$javac CreateTable.java
$java CreateTable

Il génère un fichier Word nommé createtable.docx dans votre répertoire actuel et affichez la sortie suivante sur l'invite de commande -

createtable.docx written successfully

le createtable.docx le fichier ressemble à ceci -

Ce chapitre explique comment appliquer différents styles de police et alignements dans un document Word à l'aide de Java. Généralement, le style de police contient: la taille de la police, le type, le gras, l'italique et le soulignement. Et l'alignement est catégorisé en gauche, centre, droite et justifier.

Le style de police

Le code suivant est utilisé pour définir différents styles de police -

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

Enregistrez le code ci-dessus sous FontStyle.java puis compilez et exécutez-le à partir de l'invite de commande comme suit -

$javac FontStyle.java
$java FontStyle

Il générera un fichier Word nommé fontstyle.docx dans votre répertoire actuel et affichez la sortie suivante sur l'invite de commande -

fontstyle.docx written successfully

le fontstyle.docx Le fichier se présente comme suit.

Alignement

Le code suivant est utilisé pour définir l'alignement sur le texte du paragraphe -

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

Enregistrez le code ci-dessus sous AlignParagraph.java puis compilez et exécutez-le à partir de l'invite de commande comme suit -

$javac AlignParagraph.java
$java AlignParagraph

Il générera un fichier Word nommé alignparagraph.docx dans votre répertoire actuel et affichez la sortie suivante dans l'invite de commande -

alignparagraph.docx written successfully

le alignparagraph.docx le fichier ressemble à ceci -

Ce chapitre explique comment extraire des données textuelles simples d'un document Word à l'aide de Java. Si vous souhaitez extraire des métadonnées d'un document Word, utilisez Apache Tika.

Pour les fichiers .docx, nous utilisons la classe org.apache.poi.xwpf.extractor.XPFFWordExtractor qui extrait et renvoie des données simples à partir d'un fichier Word. De la même manière, nous avons différentes méthodologies pour extraire des en-têtes, des notes de bas de page, des données de tableau, etc. à partir d'un fichier Word.

Le code suivant montre comment extraire du texte simple à partir d'un fichier 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());
   }
}

Enregistrez le code ci-dessus sous WordExtractor.java. Compilez et exécutez-le à partir de l'invite de commande comme suit -

$javac WordExtractor.java
$java WordExtractor

Il générera la sortie suivante:

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.