Microsoft Word Automation - Créer, modifier ou convertir des documents Word à l'aide de Java

L’automatisation de Word vous permet de créer de nouveaux documents Word, d’éditer ou de modifier ceux qui existent déjà, ou de les convertir dans d’autres formats sans utiliser Microsoft Office. Toutes les actions que nous pouvons effectuer via l’interface utilisateur de MS Word peuvent également être effectuées par programme en utilisant Automation. Dans cet article, nous allons apprendre comment automatiser MS Word pour créer, modifier ou convertir des documents Word à l’aide de Java.

Les sujets suivants seront traités dans cet article:

API Java Word Automation pour créer, modifier ou convertir des documents Word

Pour automatiser Word, nous utiliserons l’API Aspose.Words for Java. Il s’agit d’une solution d’automatisation Word complète et riche en fonctionnalités pour créer, modifier ou analyser des documents Word par programme. Veuillez soit télécharger le JAR de l’API ou simplement ajouter la configuration pom.xml suivante dans une application Java basée sur Maven.

<repository>
  <id>AsposeJavaAPI</id>
  <name>API Java Aspose</name>
  <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>21.11</version>
    <type>pom</type>
</dependency>

Créer des documents Word à l’aide de Java

Nous pouvons créer des documents Word par programmation en suivant les étapes ci-dessous:

  • Tout d’abord, créez une instance de la classe Document. Cette classe représente un document Word.
  • Ensuite, créez une instance de la classe DocumentBuilder avec l’objet Document comme argument. Cette classe fournit des méthodes pour insérer du texte, des images et d’autres contenus, spécifier la mise en forme de la police, des paragraphes et des sections.
  • Ensuite, insérez/écrivez des éléments pour ajouter du texte, des paragraphes, un tableau ou une image à l’aide de l’objet DocumentBuilder.
  • Enfin, appelez la méthode Document.save() avec le chemin du fichier de sortie pour enregistrer le fichier créé.

L’exemple de code suivant montre comment créer un document Word (DOCX) à l’aide de Java.

// Ouvrez le document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Définir la police pour les éléments suivants
Font font = builder.getFont();
font.setSize(25);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");

// Insérer du texte
builder.writeln("Welcome!");

// Définir la police pour les éléments suivants
font.setSize(12);
font.setBold(false);

// Insérer un paragraphe
builder.writeln("Aspose.Words for Java is a class library that enables your applications to perform a great range of document processing tasks.\r\n"
    + "\r\n"
    + "Aspose.Words supports most of the popular document formats such as DOC, DOCX, RTF, HTML, Markdown, PDF, XPS, EPUB, and others.\r\n"
    + "\r\n"
    + "With Aspose.Words for Java, you can generate, modify, convert, render, and print documents without third-party applications or Office Automation.");
builder.writeln();

font.setBold(true);
builder.writeln("This is a sample table");

font.setBold(false);
// Insérer un tableau
Table table = builder.startTable();
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_CONTENTS);

builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);

builder.write("This is row 1 cell 1");
builder.insertCell();
builder.write("This is row 1 cell 2");
builder.endRow();
builder.insertCell();
builder.write("This is row 2 cell 1");
builder.insertCell();
builder.write("This is row 2 cell 2");
builder.endRow();
builder.endTable();
builder.writeln();

// Insérer une image
builder.insertImage("C:\\Files\\Words\\words_java.jpg");

// Insérer un saut de page 
builder.insertBreak(BreakType.PAGE_BREAK);             
// tous les éléments après le saut de page seront insérés à la page suivante.

// Enregistrer le document
doc.save("C:\\Files\\Words\\document.docx");
Créer des documents Word à l'aide de Java

Créez des documents Word à l’aide de Java.

Éditer ou modifier des documents Word à l’aide de Java

Dans la section précédente, nous avons créé un document Word. Maintenant, éditons-le et changeons le contenu du document. Nous pouvons éditer des documents Word par programmation en suivant les étapes ci-dessous:

  • Tout d’abord, chargez un document Word en utilisant la classe Document avec le chemin du fichier d’entrée comme argument.
  • Ensuite, accédez à la section spécifique par son index.
  • Ensuite, accédez au contenu du premier paragraphe en tant qu’objet de la classe Run. La classe Run représente une série de caractères avec le même formatage de police. Tout le texte du document est stocké dans des séquences de texte.
  • Après cela, définissez le texte à mettre à jour pour le paragraphe consulté.
  • Enfin, appelez la méthode Document.save() avec le chemin du fichier de sortie pour enregistrer le fichier mis à jour.

L’exemple de code suivant montre comment modifier un document Word (DOCX) à l’aide de Java.

// Charger le document
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Accéder au paragraphe
Run paragraph = doc.getSections().get(0).getBody().getFirstParagraph().getRuns().get(0);
paragraph.setText("This is updated text");  

// Enregistrer le document
doc.save("C:\\Files\\Words\\Document_updated.docx");
Éditer ou modifier des documents Word à l'aide de Java

Modifier ou modifier des documents Word à l’aide de Java.

Rechercher et remplacer du texte dans des documents Word à l’aide de Java

Nous pouvons également mettre à jour le contenu des documents Word en utilisant le mécanisme de recherche et de remplacement de l’API. Nous pouvons le faire par programmation en suivant les étapes ci-dessous:

  • Tout d’abord, chargez un document Word en utilisant la classe Document avec le chemin du fichier d’entrée comme argument.
  • Ensuite, créez une instance de la classe FindReplaceOptions.
  • Ensuite, appelez la méthode replace() avec la chaîne de recherche, la chaîne de remplacement et l’objet FindReplaceOptions comme arguments. Cette méthode doit remplacer chaque occurrence de la chaîne de recherche par la chaîne de remplacement.
  • Enfin, appelez la méthode Document.save() avec le chemin du fichier de sortie pour enregistrer le fichier mis à jour.

L’exemple de code suivant montre comment rechercher et remplacer un texte spécifique dans un document Word (DOCX) à l’aide de Java.

// Charger le document
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Mettre à jour en utilisant rechercher et remplacer
// Spécifiez la chaîne de recherche et la chaîne de remplacement à l'aide de la méthode Replace.
doc.getRange().replace("Aspose.Words", "Hello", new FindReplaceOptions());

// Enregistrer le document
doc.save("C:\\Files\\Words\\Document_updated.docx");
Rechercher et remplacer du texte dans des documents Word à l'aide de Java

Rechercher et remplacer du texte dans des documents Word à l’aide de Java

Convertir des documents Word à l’aide de Java

Nous pouvons convertir des documents Word vers d’autres formats tels que PDF, XPS, EPUB, HTML, JPG, PNG, etc. par programmation en suivant les étapes ci-dessous:

  • Tout d’abord, chargez un document Word en utilisant la classe Document avec le chemin du fichier d’entrée comme argument.
  • Ensuite, créez une instance de la classe PdfSaveOptions avec l’objet Document comme argument. Cette classe fournit des options supplémentaires lors de l’enregistrement d’un document au format PDF.
  • Ensuite, spécifiez le niveau de conformité aux normes PDF pour le document de sortie en définissant PdfSaveOptions.Compliance sur PdfCompliance.PDF_17.
  • Enfin, appelez la méthode Document.save() avec le chemin du fichier de sortie et l’objet PdfSaveOptions comme argument pour enregistrer le fichier PDF.

L’exemple de code suivant montre comment convertir un document Word (DOCX) en PDF à l’aide de Java.

// Charger le document
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Fournir la conformité PDFSaveOption à PDF17
PdfSaveOptions options = new PdfSaveOptions();
options.setCompliance(PdfCompliance.PDF_17);

// Convertir Word en PDF
doc.save("C:\\Files\\Words\\output.pdf", options);
Convertir des documents Word en PDF.

Convertir des documents Word à l’aide de Java

Analyser des documents Word à l’aide de Java

Nous pouvons analyser des documents Word et extraire le contenu sous forme de texte brut par programme en suivant les étapes ci-dessous:

  • Chargez un document Word en utilisant la classe Document avec le chemin du fichier d’entrée comme argument.
  • Appelez la méthode Document.save() pour enregistrer le document Word en tant que fichier texte. Cette méthode prend le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment analyser un document Word (DOCX) à l’aide de Java.

// Chargez le document à partir du disque.
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Enregistrer en texte brut 
doc.save("C:\\Files\\Words\\output.txt");
Extraire du texte de documents Word.

Analyser des documents Word à l’aide de Java.

Obtenez une licence gratuite

Veuillez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, nous avons appris comment automatiser Word pour créer, modifier ou convertir des documents Word à l’aide de Java. Nous avons également vu comment rechercher et remplacer du texte dans des documents Word par programmation. En outre, vous pouvez en savoir plus sur l’API Aspose.Words pour Java en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également