Créer un document Word enrichi en Java

Ces dernières années, la génération dynamique de documents Word est devenue une fonctionnalité populaire pour la rédaction de rapports, de devis, de factures et d’autres types de documents. Diverses entreprises de fabrication génèrent des factures sur la base des données stockées dans les bases de données. Dans de tels cas, l’automatisation des documents permet d’économiser du temps, des efforts et des ressources nécessaires au processus de création manuelle des documents. Cet article vise à cibler le processus d’automatisation des documents et vous permet de savoir comment créer des documents Word par programmation en Java.

API Java pour créer des documents Word

Dans cet article, nous utiliserons Aspose.Words for Java qui est une API riche en fonctionnalités pour créer, modifier ou convertir des documents Word dans des applications basées sur Java. Vous pouvez télécharger le JAR de l’API ou l’installer à l’aide des configurations Maven suivantes :

Repository:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Dependency:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>20.2</version>
    <classifier>jdk17</classifier>
</dependency>

Dans les sections suivantes, vous apprendrez à créer un document Word contenant différents éléments tels que du texte, un paragraphe, un tableau, une liste, des images, etc. par programmation à l’aide de Java.

Créer un document Word à l’aide de Java

La plupart du temps, une partie considérable du contenu d’un document Word est basée sur le texte. Par conséquent, nous commencerons notre voyage en créant un document Word avec un titre et un paragraphe. Voici les étapes pour créer un document Word :

  • Commencez par créer une instance de la classe Document.
  • Créez un objet DocumentBuilder et initialisez-le avec l’objet Document.
  • Utilisez la classe Font et définissez la taille de la police, la famille, etc.
  • Définissez les propriétés du paragraphe à l’aide de la classe ParagraphFormat.
  • Écrivez du texte dans le document à l’aide de la méthode DocumentBuilder.write().
  • Enfin, appelez la méthode Document.save() pour créer le document.

L’exemple de code suivant montre comment créer un document Word contenant du texte en Java.

// Créer un objet Document
Document doc = new Document();
// Créer un objet DocumentBuilder
DocumentBuilder builder = new DocumentBuilder(doc);
// Spécifier la mise en forme de la police
Font font = builder.getFont();
font.setSize(18);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");
builder.write("How to Create a Rich Word Document?");
builder.insertBreak(BreakType.LINE_BREAK);
// Commencez le paragraphe
font.setSize(12);
font.setBold(false);
ParagraphFormat paragraphFormat = builder.getParagraphFormat();
paragraphFormat.setFirstLineIndent(12);
paragraphFormat.setKeepTogether(true);
builder.write("This article shows how to create a Word document containing text, images and lists.");
// Enregistrer le document
doc.save("Rich Word Document.docx");

Production

Générer un document Word en Java

Créer un document Word avec table en utilisant Java

Les tableaux des documents Word sont utilisés pour organiser le contenu sous forme de lignes et de colonnes. Dans cette section, nous allons créer un tableau simple contenant deux lignes et deux colonnes. La création d’une table comprend quatre opérations de base :

  • Commencer le tableau
  • Insertion d’une cellule
  • Terminer la ligne
  • Finir le tableau

Voici l’étape pour créer un tableau dans un document Word à l’aide de Java :

L’exemple suivant montre comment créer un tableau dans un document Word.

// Créer un objet Document
Document doc = new Document();
// Créer un objet DocumentBuilder
DocumentBuilder builder = new DocumentBuilder(doc);
// Créer un tableau
Table table = builder.startTable();
// Insérer une cellule
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_WINDOW);
builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
builder.write("This is Row 1 Cell 1");
builder.insertCell();
builder.write("This is Row 1 Cell 2");
// Ligne de fin
builder.endRow();
// démarrer une ligne suivante et définir ses propriétés
builder.getRowFormat().setHeight(100);
builder.getRowFormat().setHeightRule(HeightRule.EXACTLY);
builder.insertCell();
builder.write("This is Row 2 Cell 1");
builder.insertCell();
builder.write("This is Row 2 Cell 2");
builder.endRow();
// Fin de table
builder.endTable();
// Enregistrer le document
doc.save("Rich Word Document.docx");

Production

Java génère un document Word avec tableau

Créer une liste dans un document Word à l’aide de Java

Voici les étapes pour ajouter une liste au document Word.

  • Tout d’abord, créez un objet de classe Document.
  • Ajoutez le type de liste souhaité au document à l’aide de la méthode Document.getLists().add().
  • Récupérez la liste du document dans un objet List.
  • Remplissez la liste à l’aide de l’objet DocumentBuilder.
  • Enfin, enregistrez le document.

L’exemple de code suivant montre comment créer une liste dans un document Word à l’aide de Java.

// Créer un objet Document
Document doc = new Document();
doc.getLists().add(ListTemplate.BULLET_CIRCLE);
List list = doc.getLists().get(0);
// Définissez true pour spécifier que la liste doit être redémarrée à chaque section.
list.isRestartAtEachSection(true);
DocumentBuilder builder = new DocumentBuilder(doc);
builder.getListFormat().setList(list);
for (int i = 1; i < 45; i++) {
	builder.writeln(String.format("List Item " + i));
	// Insérer un saut de section.
	if (i == 15)
		builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
}
builder.getListFormat().removeNumbers();
// Enregistrer le document
doc.save("Rich Word Document.docx");

Production

Insérer une liste dans Word docx en Java

Insérer une image dans un document Word à l’aide de Java

L’insertion d’une image dans un document Word est aussi simple que bonjour. Voici quelques étapes simples pour effectuer cette opération :

L’exemple de code suivant montre comment insérer une image dans le document Word à l’aide de Java.

// Créer un objet Document
Document doc = new Document();
// Créer un générateur de documents
DocumentBuilder builder = new DocumentBuilder(doc);
// Insérer une image
builder.insertImage("aspose-words.png");
// Enregistrer le document
doc.save("Rich Word Document.docx");

Production

Insérer une image dans Word docx en Java

Conclusion

Dans cet article, vous avez appris à créer des documents Word enrichis par programmation à l’aide de Java. De plus, les exemples de code ont montré comment ajouter du texte, des tableaux, des images et des listes aux documents Word. Vous pouvez en savoir plus sur la façon d’insérer divers éléments dans un document Word en utilisant Aspose.Words for Java.

Essayez gratuitement Aspose.Words for Java

Vous pouvez obtenir une licence temporaire gratuite pour essayer d’utiliser Aspose.Words for Java sans limitations d’essai.

Voir également