Python : fusionner des documents Word

2023-12-18 03:19:50 zaki zou

Traiter un grand nombre de documents Word peut s’avérer très difficile. Qu'il s'agisse d'éditer ou de réviser un grand nombre de documents, on perd beaucoup de temps à ouvrir et fermer des documents. De plus, partager et recevoir un grand nombre de documents Word distincts peut être ennuyeux, car cela peut nécessiter de nombreuses opérations d'envoi et de réception répétées de la part du partageur et du destinataire. Par conséquent, afin d’améliorer l’efficacité et de gagner du temps, il est conseillé de fusionner des documents Word associés dans un seul fichier. À partir de cet article, vous saurez comment utiliser Spire.Doc for Python pour facilement fusionner des documents Word via des programmes 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 tutoriel : Comment installer Spire.Doc for Python dans VS Code

Fusionner des documents Word en insérant des fichiers avec Python

La méthode Document.insertTextFromFile() est utilisée pour insérer d'autres documents Word dans le document actuel, et le contenu inséré démarrera à partir d'une nouvelle page. Les étapes détaillées pour fusionner des documents Word par insertion sont les suivantes :

  • Créez un objet de la classe Document et chargez un document Word à l'aide de la méthode Document.LoadFromFile().
  • Insérez-y le contenu d'un autre document à l'aide de la méthode Document.InsertTextFromFile().
  • Enregistrez le document à l'aide de la méthode Document.SaveToFile().
  • Python
from spire.doc import *
from spire.doc.common import *

# Create an object of Document class and load a Word document
doc = Document()
doc.LoadFromFile("Sample1.docx")

# Insert the content from another Word document to this one
doc.InsertTextFromFile("Sample2.docx", FileFormat.Auto)

# Save the document
doc.SaveToFile("output/InsertDocuments.docx")
doc.Close()

Python: Merge Word Documents

Fusionner des documents Word en clonant le contenu avec Python

La fusion de documents Word peut également être réalisée en clonant le contenu d'un document Word à un autre. Cette méthode conserve le formatage du document d'origine et le contenu cloné à partir d'un autre document continue à la fin du document en cours sans démarrer une nouvelle page. Les étapes détaillées sont les suivantes :

  • Créez deux objets de la classe Document et chargez deux documents Word à l'aide de la méthode Document.LoadFromFile().
  • Obtenez la dernière section du document de destination à l’aide de la méthode Document.Sections.get_Item().
  • Parcourez les sections du document à cloner, puis parcourez les objets enfants des sections.
  • Obtenez un objet enfant de section à l’aide de la méthode Section.Body.ChildObjects.get_Item().
  • Ajoutez l'objet enfant à la dernière section du document de destination à l'aide de la méthode Section.Body.ChildObjects.Add().
  • Enregistrez le document résultat à l'aide de la méthode Document.SaveToFile().
  • Python
from spire.doc import *
from spire.doc.common import *

# Create two objects of Document class and load two Word documents
doc1 = Document()
doc1.LoadFromFile("Sample1.docx")
doc2 = Document()
doc2.LoadFromFile("Sample2.docx")

# Get the last section of the first document
lastSection = doc1.Sections.get_Item(doc1.Sections.Count - 1)

# Loop through the sections in the second document
for i in range(doc2.Sections.Count):
    section = doc2.Sections.get_Item(i)
    # Loop through the child objects in the sections
    for j in range(section.Body.ChildObjects.Count):
        obj = section.Body.ChildObjects.get_Item(j)
        # Add the child objects from the second document to the last section of the first document
        lastSection.Body.ChildObjects.Add(obj.Clone())

# Save the result document
doc1.SaveToFile("output/MergeByCloning.docx")
doc1.Close()
doc2.Close()

Python: Merge Word Documents

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