Automatisation des mots Python

Nous pouvons automatiser MS Word pour créer de nouveaux documents Word (DOC ou DOCX), éditer ou modifier ceux qui existent déjà, ou les convertir dans d’autres formats sans utiliser Microsoft Office. L’automatisation Python MS Word permet d’effectuer toutes les actions par programmation que nous pouvons effectuer via l’interface utilisateur de MS Word. Dans cet article, nous allons apprendre à automatiser MS Word pour créer, modifier ou convertir des documents Word à l’aide de Python.

Cet article couvre toutes les fonctionnalités de base requises pour générer et manipuler des documents Word par programmation à l’aide de Python. Cet article comprend les rubriques suivantes :

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

Pour automatiser Word, nous utiliserons l’API Aspose.Words for Python. 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. La classe Document de l’API représente un document Word. L’API fournit la classe DocumentBuilder qui propose diverses méthodes pour insérer du texte, des images et d’autres contenus dans le document. Cette classe permet également de spécifier la mise en forme de la police, des paragraphes et des sections. La classe Run de l’API représente une série de caractères avec le même formatage de police. Veuillez installer la bibliothèque dans votre application Python à partir de PyPI à l’aide de la commande pip suivante.

pip install aspose-words

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

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.
  • Ensuite, créez une instance de la classe DocumentBuilder avec l’objet Document comme argument.
  • Après cela, insérez/écrivez des éléments pour ajouter du texte, des paragraphes, des tableaux ou des images à l’aide de l’objet DocumentBuilder.
  • Enfin, appelez la méthode save() avec le chemin du fichier de sortie comme argument pour enregistrer le fichier créé.

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

import aspose.words as aw

# This code example demonstrates how to create a new Word document using Python.
# Create document object
doc = aw.Document()

# Create a document builder object
builder = aw.DocumentBuilder(doc)

# Specify font formatting Font
font = builder.font
font.size = 32
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.SINGLE

# Insert text
builder.writeln("Welcome")
builder.writeln()

# Set paragraph formatting
font.size = 14
font.bold = False
font.name = "Arial"
font.underline = aw.Underline.NONE

paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# Insert paragraph
builder.writeln('''Aspose.Words for Python is a class library that enables your applications to perform a great range of document processing tasks. 
    It supports most of the popular document formats such as DOC, DOCX, RTF, HTML, Markdown, PDF, XPS, EPUB, and others. 
    With the API, you can generate, modify, convert, render, and print documents without third-party applications or Office Automation.
''')
builder.writeln()

# Insert a Table
font.bold = True
builder.writeln("This is a sample table")
font.bold = False

# Start table
table = builder.start_table()

# Insert cell
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)

# Set formatting and add text
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER

builder.write("Row 1 cell 1")
builder.insert_cell()
builder.write("Row 1 cell 2")
builder.end_row()

builder.insert_cell()
builder.write("Row 2 cell 1")
builder.insert_cell()
builder.write("Row 2 cell 2")
builder.end_row()

# End table
builder.end_table()
builder.writeln()

# Insert image
builder.insert_image("C:\\Files\\aspose-icon.png")

# Save document
doc.save("C:\\Files\\sample_output.docx")
Créer des documents Word

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

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

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 en suivant les étapes ci-dessous :

  • Tout d’abord, chargez un document Word existant à l’aide de la classe Document.
  • 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.
  • Après cela, définissez le texte à mettre à jour pour le paragraphe consulté.
  • Enfin, appelez la méthode 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 Python.

import aspose.words as aw

# This code example demonstrates how to edit an existing Word document.
# Load the document
doc = aw.Document("C:\\Files\\sample_output.docx")

# Initialize document builder
builder = aw.DocumentBuilder(doc)

# Access the paragraph
paragraph = doc.sections[0].body.paragraphs[0].runs[0]
paragraph.text = "This is an updated text!"

# Save the document
doc.save("C:\\Files\\sample_updated.docx")
Éditer ou modifier des documents Word

Éditez ou modifiez des documents Word à l’aide de Python.

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

Nous pouvons également rechercher n’importe quel texte et le remplacer par un nouveau texte en suivant les étapes ci-dessous :

  • Tout d’abord, chargez un document Word à l’aide de la classe Document.
  • Ensuite, créez une instance de la classe FindReplaceOptions.
  • Après cela, appelez la méthode replace(). Il prend la chaîne de recherche, la chaîne de remplacement et l’objet FindReplaceOptions comme arguments.
  • Enfin, appelez la méthode 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 Python.

import aspose.words as aw

# This code example demonstrates how to find and replace text in Word document.
# Load the document
doc = aw.Document("C:\\Files\\sample_output.docx")

# Update using find and replace
# Specify the search string and replace string using the Replace method.
doc.range.replace("Aspose.Words", "Hello", 
    aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

# Save the document
doc.save("C:\\Files\\find_and_replace.docx")
Rechercher et remplacer du texte dans des documents Word

Rechercher et remplacer du texte dans des documents Word.

Convertir des documents Word à l’aide de Python

Nous pouvons convertir des documents Word vers d’autres formats tels que PDF, XPS, EPUB, HTML, JPG, PNG, etc. Veuillez suivre les étapes ci-dessous pour convertir un document Word en une page Web HTML :

  • Tout d’abord, chargez un document Word à l’aide de la classe Document.
  • Ensuite, créez une instance de la classe HtmlSaveOptions avec l’objet Document comme argument.
  • Ensuite, spécifiez les propriétés cssstylesheettype, exportfontresources, resourcefolder et alias.
  • Enfin, appelez la méthode save() avec le chemin du fichier de sortie et l’objet HtmlSaveOptions comme arguments pour enregistrer le fichier HTML converti.

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

import aspose.words as aw

# This code example demonstrates how to convert a Word document to PDF.
# Load an existing Word document
doc = aw.Document("C:\\Files\\sample_output.docx")

# Specify save options
saveOptions = aw.saving.HtmlSaveOptions()
saveOptions.css_style_sheet_type = aw.saving.CssStyleSheetType.EXTERNAL
saveOptions.export_font_resources = True
saveOptions.resource_folder = "C:\\Files\\Resources"
saveOptions.resource_folder_alias = "C:/Files/resources"

# Save the converted document
doc.save("C:\\Files\\Converted.html", saveOptions)

De même, nous pouvons également convertir des documents Word vers d’autres formats pris en charge. Veuillez en savoir plus sur la façon de convertir Word en EPUB, Word en PDF, document Word en Markdown, Word en JPG ou images PNG dans la documentation .

Analyser des documents Word à l’aide de Python

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

  • Tout d’abord, chargez un document Word à l’aide de la classe Document.
  • Ensuite, extrayez et imprimez le texte.
  • Enfin, appelez la méthode 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 Python.

import aspose.words as aw

# This code example demonstrates how to parse a Word document.
# Load the document
doc = aw.Document("C:\\Files\\Sample.docx")

# Extract text
print(doc.range.text)

# Save as plain text
doc.save("C:\\Files\\output.txt")

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer la bibliothèque sans limitation d’évaluation.

Conclusion

Dans cet article, nous avons appris à :

  • automatiser MS Word à l’aide de Python ;
  • créer et modifier des documents Word par programmation ;
  • analyser ou convertir des fichiers DOCX ;
  • rechercher et remplacer du texte dans des documents Word à l’aide de Python.

En outre, vous pouvez en savoir plus sur l’API Aspose.Words for Python en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également