
Une Table des Matières (TOC) est une fonctionnalité essentielle dans les documents Word, en particulier pour les documents volumineux tels que les rapports, thèses et eBooks. Elle rend les documents Word plus lisibles et permet aux lecteurs de naviguer rapidement à travers les différentes sections du document. Dans cet article, vous apprendrez comment automatiser la TOC dans les documents Word de manière programmatique en utilisant Python. Nous discuterons des étapes pour créer une table des matières dans un document Word, insérer une TOC dans un document existant, ou extraire une TOC d’un document en Python.
Cet article couvre les sujets suivants :
- Bibliothèque Python pour travailler avec la TOC
- Créer une Table des Matières (TOC) dans Word en utilisant Python
- Créer une Table des Matières dans un Document Word Existant
- Extraire la Table des Matières d’un Document Word
- Obtenir une Licence API Gratuite
- Ressources Gratuites
Bibliothèque Python pour travailler avec la TOC
Pour travailler avec la TOC dans les documents Word en utilisant Python, nous utiliserons la bibliothèque Aspose.Words pour Python. Elle permet aux développeurs de créer, modifier et automatiser des documents Word dans des applications Python. Commençons par configurer notre environnement.
Avant de plonger dans le code, assurez-vous d’avoir installé Aspose.Words pour Python. Vous pouvez télécharger le package ou installer l’API depuis PyPI en utilisant la commande pip suivante dans votre terminal :
pip install aspose-words
Cela téléchargera et installera la bibliothèque Aspose.Words pour Python et ses dépendances.
Créer une Table des Matières dans Word en utilisant Python
Veuillez suivre les étapes ci-dessous pour ajouter une table des matières à un document Word en utilisant Python.
- Créez une instance de la classe Document.
- Créez une instance de la classe DocumentBuilder avec l’objet Document.
- Insérez une table des matières en utilisant la méthode insert_table_of_contents().
- Spécifiez les styles de titre en utilisant la propriété style_identifier.
- Mettez à jour les champs en utilisant la méthode update_fields().
- Enregistrez le document Word en utilisant la méthode save().
L’exemple de code suivant montre comment créer une table des matières dans un document Word en utilisant Python.
# This code example shows how to add a Table of Contents in a Word document. | |
# Create a document | |
doc = aw.Document() | |
# Initialize a document builder | |
builder = aw.DocumentBuilder(doc) | |
# Insert table of contents | |
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u") | |
# Start the actual document content on the second page. | |
builder.insert_break(aw.BreakType.PAGE_BREAK) | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1 | |
builder.writeln("Heading 1") | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2 | |
builder.writeln("Heading 1.1") | |
builder.writeln("Heading 1.2") | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1 | |
builder.writeln("Heading 2") | |
builder.writeln("Heading 3") | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2 | |
builder.writeln("Heading 3.1") | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING3 | |
builder.writeln("Heading 3.1.1") | |
builder.writeln("Heading 3.1.2") | |
builder.writeln("Heading 3.1.3") | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2 | |
builder.writeln("Heading 3.2") | |
builder.writeln("Heading 3.3") | |
# The newly inserted table of contents will be initially empty. | |
# It needs to be populated by updating the fields in the document. | |
doc.update_fields() | |
# Save the document | |
doc.save("insert_table_of_contents.docx") |

Ajouter une Table des Matières dans Word en utilisant Python
Créer une Table des Matières dans un Document Word Existant
Vous pouvez également insérer une table des matières dans un document Word existant en suivant les étapes ci-dessous :
- Chargez un document Word existant en utilisant la classe Document.
- Créez une instance de la classe DocumentBuilder et initialisez-la avec l’objet Document créé précédemment.
- Insérez une table des matières en utilisant la méthode insert_table_of_contents().
- Mettez à jour les champs en utilisant la méthode update_fields().
- Enregistrez le document Word en utilisant la méthode save().
L’exemple de code suivant montre comment créer une table des matières dans un document Word existant en utilisant Python.
# This code example shows how to insert a Table of Contents in an existing Word document. | |
# Load an existing Word document | |
doc = Document("toc_sample.docx"); | |
builder = DocumentBuilder(doc); | |
# Insert a table of contents at the beginning of the document. | |
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u"); | |
# The newly inserted table of contents will be initially empty. | |
# It needs to be populated by updating the fields in the document. | |
doc.update_fields(); | |
# Save the document | |
doc.save("InsertTOC_out.docx"); |

Créer une Table des Matières dans un Document Word Existant
Extraire une Table des Matières d’un Document Word en Python
Vous pouvez extraire les champs d’une table des matières d’un document Word en suivant les étapes ci-dessous :
- Chargez le document Word en utilisant la classe Document.
- Parcourez la collection doc.range.fields.
- Vérifiez si le type de champ est FIELD_HYPERLINK.
- Vérifiez si le champ fait partie de la section table des matières.
- Récupérez les informations du champ et affichez-les.
L’exemple de code suivant montre comment extraire une table des matières d’un document Word en utilisant Python.
# This code example shows how to extract a Table of Contents from a Word document. | |
# Load an existing Word document | |
doc = aw.Document(InsertTOC_out.docx") | |
# Loop through all the fields | |
for field in doc.range.fields: | |
# Check if it is FIELD_HYPERLINK | |
if (field.type == aw.fields.FieldType.FIELD_HYPERLINK): | |
hyperlink = field.as_field_hyperlink() | |
# Check if it in TOC section | |
if (hyperlink.sub_address != None and hyperlink.sub_address.find("_Toc") == 0): | |
tocItem = field.start.get_ancestor(aw.NodeType.PARAGRAPH).as_paragraph() | |
print(tocItem.to_string(aw.SaveFormat.TEXT).strip()) | |
print("------------------") | |
bm = doc.range.bookmarks.get_by_name(hyperlink.sub_address) | |
pointer = bm.bookmark_start.get_ancestor(aw.NodeType.PARAGRAPH).as_paragraph() | |
print(pointer.to_string(aw.SaveFormat.TEXT)) |
Titre 1 1
------------------
Titre 1
Titre 2 1
------------------
Titre 2
Un autre Titre 1
------------------
Un autre Titre
Obtenir une Licence Gratuite
Vous pouvez obtenir une licence temporaire gratuite et créer une table des matières dans les documents Word sans limitations d’évaluation.
TOC dans Word – Ressources Gratuites
- Lisez la section Travailler avec la Table des Matières de la documentation officielle pour en savoir plus sur l’ajout, la mise à jour ou la suppression de la TOC dans Word.
En plus de travailler avec la TOC dans les documents Word, explorez plus de fonctionnalités d’Aspose.Words pour Python en utilisant les ressources ci-dessous :
- Guide du développeur Python
- Applications en ligne gratuites
- Référence de l’API
- Guides pratiques et articles
Conclusion
Dans cet article, vous avez appris comment travailler avec une table des matières (TOC) dans un document Word de manière programmatique. En suivant les étapes décrites dans cet article, vous pouvez automatiser le processus de création et de gestion des documents volumineux. Aspose.Words pour Python vous permet de gérer efficacement vos documents Word et d’améliorer leur convivialité avec une Table des Matières bien structurée. Si vous avez des questions ou avez besoin d’une assistance supplémentaire, n’hésitez pas à nous contacter sur notre forum de support gratuit.
Voir Aussi
- Créer des Graphiques dans des Documents Word en utilisant Python
- Convertir Word en JPG en Python
- Générer des Documents Word à partir de Modèles
- Convertir des Images en Document Word
- Convertir Word DOCX DOC en TXT
- Extraire des Images de PDF
- Comparer Deux Fichiers PDF
- Comment Convertir une Image en PDF en Python
- Convertir Word en Excel en Python