API Java Open Source pour Documents Word DOCX

Créez, lisez, modifiez et convertissez des fichiers Microsoft Word DOCX, ajoutez du texte et des tableaux via la bibliothèque Java.

DOCX4J est une bibliothèque open source (Apache v2) basée sur JAXB pour manipuler les formats de fichiers Microsoft Office. Il fournit la fonctionnalité pour lire, écrire, modifier et enregistrer le format de fichier Microsoft Word 2007 DOCX.

DOCX4J est similaire au SDK OpenXML de Microsoft, mais pour Java. Il utilise JAXB pour créer la représentation d'objet en mémoire. À l'aide de l'API, vous pouvez générer des documents Mircosoft Office, les modifier, formater le texte et les paragraphes, insérer des tableaux et des images et gérer d'autres éléments de formulaire, et bien plus encore. Fondamentalement, son accent est mis sur la puissance, si le format le prend en charge, vous pouvez le faire en utilisant l'API.

Previous Next

Premiers pas avec DOCX4J

Tout d'abord, vous devez avoir le kit de développement Java (JDK) installé sur votre système. Référencer DOCX4J dans votre projet Java basé sur Maven est encore plus simple. Tout ce dont vous avez besoin est d'ajouter la dépendance suivante dans votre pom.xml et de laisser votre IDE récupérer et référencer les fichiers Jar DOCX4J.

Dépendance Maven DOCX4J

<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-Internal</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-ReferenceImpl</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-MOXy</artifactId>
<version>8.0.0</version>
</dependency>
  

Ajouter un paragraphe, une image et un tableau aux documents Word

DOCX4J permet aux développeurs d'ajouter des paragraphes et des images aux documents Word. L'API fournit également la fonctionnalité permettant d'ajouter des tableaux aux documents DOCX tout en permettant de créer des tableaux simples et imbriqués avec des données définies par l'utilisateur.

Créer DOCX Free en utilisant DOCX4J - Java

// Create word package
WordprocessingMLPackage wordPackage = WordprocessingMLPackage.createPackage();
// Create main document part
MainDocumentPart mainDocumentPart = wordPackage.getMainDocumentPart();
// Add Paragraph
mainDocumentPart.addParagraphOfText("Open Source Java API for Word DOCX Documents");
// Save file
wordPackage.save(new File("FileFormat.docx"));

Extraire le texte du DOCX

DOCX4J fournit la classe spécialisée pour extraire des données de documents Microsoft Word DOCX avec seulement quelques lignes de code. De la même manière, il peut également extraire des titres, des notes de bas de page, des données de tableau, etc. à partir d'un fichier Word.

Extraire du texte à partir de DOCX Free - Java

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

Générer et modifier des documents Word à l'aide de l'API Java

DOCX4J permet aux programmeurs de logiciels de créer de nouveaux documents Word au format de fichier DOCX. Les développeurs peuvent également charger un fichier Microsoft Word DOCX existant pour le modifier en fonction des besoins de leur application. Il vous permet d'ajouter de nouveaux paragraphes, d'insérer du texte, d'appliquer l'alignement et les bordures du texte, de modifier le style du texte, etc.

Convertir des documents Microsoft Word Docx en PDF

La bibliothèque Java open source docx4j fournit un support complet pour la génération et la conversion de documents Microsoft Word docx vers divers formats populaires. Là, docx4j propose 3 façons différentes de convertir des documents Microsoft Word docx en PDF. L'exemple suivant utilise documents4j (exécuté à distance) pour convertir un fichier docx en PDF.

Conversion de documents EWord Docx en PDF via Java


public class DocxFileToPDF {
public static void main(String[] args) throws IOException, Docx4JException {
File output = new File(System.getProperty("user.dir")+"/result.pdf");
FileOutputStream fos = new FileOutputStream(output); 
Documents4jRemoteServices exporter = new Documents4jRemoteServices();
exporter.export(new File(System.getProperty("user.dir")+"/../docx4j-samples-docx4j/sample-docs/sample-docx.docx") , fos, DocumentType.MS_WORD); 
fos.close();
}
}
 Français