Python : créer, lire ou mettre à jour un document Word

2023-12-18 03:06:32

La création, la lecture et la mise à jour de documents Word sont un besoin courant pour de nombreux développeurs travaillant avec le langage de programmation Python. Qu'il s'agisse de générer des rapports, de manipuler des documents existants ou d'automatiser des processus de création de documents, la possibilité de travailler avec des documents Word par programmation peut améliorer considérablement la productivité et l'efficacité. Dans cet article, vous apprendrez comment créer, lire ou mettre à jour des documents Word en Python à l'aide de Spire.Doc for Python.

Installer Spire.Doc for Python

Ce scénario nécessite Spire.Doc for Python et plum-dispatch v1.7.4. Ils peuvent être facilement installés dans votre VS Code via la commande pip suivante.

pip install Spire.Doc

Si vous ne savez pas comment procéder à l'installation, veuillez vous référer à ce didacticiel :Comment installer Spire.Doc for Python dans VS Code

Créer un document Word à partir de zéro en Python

Spire.Doc for Python propose la classe Document pour représenter un modèle de document Word. Un document doit contenir au moins une section (représentée par la classe Section) et chaque section est un conteneur pour divers éléments tels que des paragraphes, des tableaux, des graphiques et des images. Cet exemple vous montre comment créer un document Word simple contenant plusieurs paragraphes à l'aide de Spire.Doc pour Python.

  • Créez un objet Document.
  • Ajoutez une section à l'aide de la méthode Document.AddSection().
  • Définissez les marges de la page via la propriété Section.PageSetUp.Margins.
  • Ajoutez plusieurs paragraphes à la section à l’aide de la méthode Section.AddParagraph().
  • Ajoutez du texte aux paragraphes à l’aide de la méthode Paragraph.AppendText().
  • Créez un objet ParagraphStyle et appliquez-le à un paragraphe spécifique à l’aide de la méthode Paragraph.ApplyStyle().
  • Enregistrez le document dans un fichier Word à l'aide de la méthode Document.SaveToFile().
  • Python
from spire.doc import *
from spire.doc.common import *

# Create a Document object
doc = Document()

# Add a section
section = doc.AddSection()

# Set the page margins
section.PageSetup.Margins.All = 40

# Add a title
titleParagraph = section.AddParagraph()
titleParagraph.AppendText("Introduction of Spire.Doc for Python")

# Add two paragraphs
bodyParagraph_1 = section.AddParagraph()
bodyParagraph_1.AppendText("Spire.Doc for Python is a professional Python library designed for developers to " +
                           "create, read, write, convert, compare and print Word documents in any Python application " +
                           "with fast and high-quality performance.")

bodyParagraph_2 = section.AddParagraph()
bodyParagraph_2.AppendText("As an independent Word Python API, Spire.Doc for Python doesn't need Microsoft Word to " +
                           "be installed on neither the development nor target systems. However, it can incorporate Microsoft Word " +
                           "document creation capabilities into any developers' Python applications.")

# Apply heading1 to the title
titleParagraph.ApplyStyle(BuiltinStyle.Heading1)

# Create a style for the paragraphs
style2 = ParagraphStyle(doc)
style2.Name = "paraStyle"
style2.CharacterFormat.FontName = "Arial"
style2.CharacterFormat.FontSize = 13
doc.Styles.Add(style2)
bodyParagraph_1.ApplyStyle("paraStyle")
bodyParagraph_2.ApplyStyle("paraStyle")

# Set the horizontal alignment of the paragraphs
titleParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center
bodyParagraph_1.Format.HorizontalAlignment = HorizontalAlignment.Left
bodyParagraph_2.Format.HorizontalAlignment = HorizontalAlignment.Left

# Set the after spacing
titleParagraph.Format.AfterSpacing = 10
bodyParagraph_1.Format.AfterSpacing = 10

# Save to file
doc.SaveToFile("output/WordDocument.docx", FileFormat.Docx2019)

Python: Create, Read, or Update a Word Document

Lire le texte d'un document Word en Python

Pour obtenir le texte d’un document Word entier, vous pouvez simplement utiliser la méthode Document.GetText(). Voici les étapes détaillées.

  • Créez un objet Document.
  • Chargez un document Word à l'aide de la méthode Document.LoadFromFile().
  • Obtenez le texte de l’intégralité du document à l’aide de la méthode Document.GetText().
  • Python
from spire.doc import *
from spire.doc.common import *

# Create a Document object
doc = Document()

# Load a Word file
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\WordDocument.docx")

# Get text from the entire document
text = doc.GetText()

# Print text
print(text)

Python: Create, Read, or Update a Word Document

Mettre à jour un document Word en Python

Pour accéder à un paragraphe spécifique, vous pouvez utiliser la propriété Section.Paragraphs[index]. Si vous souhaitez modifier le texte du paragraphe, vous pouvez réaffecter du texte au paragraphe via la propriété Paragraph.Text. Voici les étapes détaillées.

  • Créez un objet Document.
  • Chargez un document Word à l'aide de la méthode Document.LoadFromFile().
  • Obtenez une section spécifique via la propriété Document.Sections[index].
  • Obtenez un paragraphe spécifique via la propriété Section.Paragraphs[index].
  • Modifiez le texte du paragraphe via la propriété Paragraph.Text.
  • Enregistrez le document dans un autre fichier Word à l'aide de la méthode Document.SaveToFile().
  • Python
from spire.doc import *
from spire.doc.common import *

# Create a Document object
doc = Document()

# Load a Word file
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\WordDocument.docx")

# Get a specific section
section = doc.Sections[0]

# Get a specific paragraph
paragraph = section.Paragraphs[1]

# Change the text of the paragraph
paragraph.Text = "The title has been changed"

# Save to file
doc.SaveToFile("output/Updated.docx", FileFormat.Docx2019)

Python: Create, Read, or Update a Word Document

Demander une licence temporaire

Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations fonctionnelles, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également