
Les organisations accumulent souvent des centaines, voire des milliers de documents Word au fil du temps. Ces fichiers peuvent provenir de différents départements, employés, fournisseurs ou systèmes hérités, entraînant des incohérences dans les polices, les structures de titres, la numérotation, l'espacement, les en-têtes et autres éléments de formatage.
Préparer de tels documents pour la publication, la migration ou l'archivage est bien plus qu'une simple tâche de formatage. Dans de nombreux cas, les organisations doivent également identifier le contenu de chaque document, extraire les métadonnées clés, créer des résumés concis et organiser les résultats dans un index de documents consultable.
L'automatisation traditionnelle de Word peut bien gérer des règles de formatage fixes, mais elle devient difficile lorsque les structures des documents varient. Une approche basée sur l'IA peut d'abord comprendre le rôle logique du contenu — comme les titres, les en-têtes, le corps du texte, les dates et les types de documents — puis appliquer les opérations documentaires appropriées.
Dans cet article, nous utiliserons Spire.Agent.Office pour .NET pour construire un flux de travail de traitement Word en trois étapes en C# :
Documents Word → Normalisation du formatage → Extraction des métadonnées et résumés → Index des documents
Pourquoi la normalisation des documents Word par l'IA est importante
La normalisation d'une collection de documents Word n'est pas toujours aussi simple que d'appliquer la même police à chaque paragraphe.
Une organisation type peut avoir des documents tels que :
Input/
├── Employee_Travel_Policy.docx
├── Vendor_Onboarding_Guide.docx
├── Security_Incident_Report.docx
└── Remote_Work_Policy.docx
Même lorsque ces documents couvrent des processus métier similaires, leur structure interne peut différer considérablement.
Par exemple, un document peut utiliser un style Word réel Titre 1 pour les titres de section, tandis qu'un autre utilise simplement du texte en gras de 16 points. Certains documents peuvent utiliser une numérotation de section telle que :
1. Objet
2. Portée
3. Responsabilités
tandis que d'autres peuvent utiliser une numérotation incohérente telle que :
I. Objet
Section 2 - Portée
3) Responsabilités
L'automatisation traditionnelle des documents oblige généralement les développeurs à inspecter les positions des paragraphes, les styles ou les modèles de texte et à écrire des règles pour chaque variante.
Le traitement documentaire assisté par l'IA change l'approche. Au lieu de spécifier que "le paragraphe 3 doit être un titre", les développeurs peuvent décrire le résultat souhaité :
Identifier le titre du document et la hiérarchie des titres, normaliser les styles et la numérotation des titres, et préserver le contenu original.
La couche IA interprète la structure du document, tandis que le moteur de document Word sous-jacent effectue le traitement réel.
Cela rend l'approche particulièrement utile pour les collections de documents professionnels semi-structurés où le contenu diffère mais où la norme de sortie souhaitée est cohérente.
Ce que cet exemple va automatiser
Notre flux de travail exemple contient trois étapes de traitement.
Étape 1 : Normaliser le formatage Word
Chaque document source est analysé et reformaté selon un style d'entreprise partagé. Le traitement comprend :
- La normalisation des polices et des tailles de police
- L'identification des titres de documents
- L'application de niveaux de titres cohérents
- La normalisation de la numérotation des titres
- La standardisation de l'espacement des paragraphes
- L'ajout d'un en-tête commun
- L'ajout de numéros de page dans le pied de page
- La préservation du texte original, des tableaux, des images et des hyperliens
Le résultat est une version normalisée de chaque document d'entrée.
Étape 2 : Extraire les métadonnées et les résumés
Les documents normalisés sont ensuite analysés individuellement pour extraire des informations telles que :
- Titre du document
- Département
- Type de document
- Date d'effet ou de publication
- Mots-clés
- Résumé
Chaque résultat est enregistré sous forme de petit document de métadonnées Word structuré.
Étape 3 : Créer un index de documents
Enfin, les fichiers de métadonnées sont combinés et convertis en un index de document Word unique.
L'index final peut contenir des informations similaires à :
| N° | Titre | Département | Type | Date | Résumé |
|---|---|---|---|---|---|
| 1 | Politique de voyage des employés | Ressources humaines | Politique | 15 juillet 2026 | Définit les exigences d'approbation et de remboursement des voyages. |
| 2 | Guide d'intégration des fournisseurs | Achats | Procédure | 3 juin 2026 | Décrit le processus d'enregistrement et d'approbation des nouveaux fournisseurs. |
| 3 | Rapport d'incident de sécurité | IT | Rapport | 8 août 2026 | Résume un incident de sécurité et les actions prises en réponse. |
Cela produit non seulement des fichiers Word plus propres, mais aussi une vue d'ensemble utile de toute la collection de documents.
Configurer Spire.Agent.Office pour C#
Tout d'abord, créez un projet .NET et installez Spire.Agent.Office via NuGet.
Vous pouvez installer le package depuis le gestionnaire de packages NuGet de Visual Studio, ou utiliser l'interface de ligne de commande .NET :
dotnet add package Spire.Agent.Office
Ensuite, importez les espaces de noms requis :
using System;
using System.IO;
using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Doc;
Le traitement documentaire par IA suit un modèle simple.
Tout d'abord, configurez une instance AIOptions avec un SpireToken :
AIOptions options = new AIOptions();
options.SpireToken = "votre SpireToken";
Vous pouvez demander un SpireToken temporaire pour les tests sur la page de licence temporaire Spire. Après avoir obtenu le jeton, assignez-le à la propriété SpireToken avant d'appeler les API de traitement IA.
Ensuite, chargez un document Word et créez un AIDocumentProcessor :
using (Document doc = new Document())
{
doc.LoadFromFile("input.docx");
AIDocumentProcessor processor = doc.AI(options);
processor.ExecuteInstruction(
doc,
"Votre instruction en langage naturel",
"output.docx"
);
}
La partie importante est l'instruction. Au lieu d'écrire manuellement une longue séquence d'appels d'API Word, nous décrivons à quoi le document doit ressembler et laissons l'agent effectuer les opérations correspondantes.
Dans les sections suivantes, nous appliquerons cette approche à un répertoire entier de fichiers Word.
Normaliser le formatage Word avec l'IA
Supposons que les documents collectés auprès de différents départements utilisent des polices, des titres, une numérotation et des mises en page incohérents.
Nous voulons qu'ils suivent tous le même style de document d'entreprise :
- Arial pour tout le texte
- Corps de texte en 11 pt
- Titre du document en gras 20 pt
- Titre 1 en gras 16 pt
- Titre 2 en gras 13 pt
- Numérotation multiniveau cohérente
- Interligne 1,15
- Un en-tête d'entreprise
- Numéros de page centrés
- Aucune modification du libellé original
Le code suivant traite chaque fichier .docx dans un répertoire d'entrée et enregistre les versions normalisées dans un nouveau répertoire.
using System;
using System.IO;
using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Doc;
string inputFolder = @"E:\Documents\Input";
string outputFolder = @"E:\Documents\Standardized";
string spireToken = "votre SpireToken";
Directory.CreateDirectory(outputFolder);
string aiRule = """
Analysez la structure de ce document Word et normalisez son formatage selon les règles de document d'entreprise suivantes :
1. Préservez tout le libellé original. Ne réécrivez, ne résumez, ne raccourcissez et ne supprimez aucun contenu du document.
2. Utilisez Arial comme police par défaut et 11 pt pour le corps de texte normal.
3. Identifiez le titre principal du document et formatez-le en gras 20 pt.
4. Identifiez la hiérarchie logique des titres et appliquez les styles de titre Word appropriés. Utilisez du gras 16 pt pour le Titre 1 et du gras 13 pt pour le Titre 2.
5. Normalisez la numérotation des sections en une hiérarchie cohérente telle que 1, 1.1 et 1.1.1 le cas échéant.
6. Utilisez un interligne de 1,15 pour les paragraphes du corps de texte normal et maintenez un espacement de paragraphe visuellement cohérent.
7. Ajoutez 'Bibliothèque de documents d'entreprise' dans l'en-tête du document.
8. Ajoutez des numéros de page centrés dans le pied de page.
9. Préservez tous les tableaux, images, hyperliens et autres objets de document existants.
10. Gardez la structure globale du document et le sens original inchangés.
""";
var aiOpts = new AIOptions { SpireToken = spireToken };
foreach (var file in Directory.GetFiles(inputFolder, "*.docx"))
{
var fileName = Path.GetFileName(file);
var savePath = Path.Combine(outputFolder, fileName);
using var doc = new Document();
doc.LoadFromFile(file);
var res = doc.AI(aiOpts).ExecuteInstruction(doc, aiRule, savePath);
Console.WriteLine(res.Success ? $"Traité : {fileName}" : $"Échec : {fileName} - {res.ErrorMessage}");
}
Un détail important dans l'instruction est l'exigence d'identifier la hiérarchie logique des titres.
Ceci est différent de simplement changer la police de chaque paragraphe en gras. L'agent peut analyser ce que représente un paragraphe et déterminer s'il fonctionne comme un titre de document, un titre de section majeur, une sous-section ou un corps de texte normal.
Pour les flux de travail de gestion documentaire, des styles de titre appropriés sont particulièrement utiles car ils peuvent améliorer la navigation, la génération automatique de table des matières, les signets PDF, l'accessibilité et l'analyse ultérieure des documents.
Une autre règle importante est :
Préservez tout le libellé original.
Le formatage et la réécriture de contenu doivent normalement être traités comme des tâches distinctes. Lorsque l'objectif de cette étape est la normalisation des documents, l'IA ne doit pas simultanément réécrire ou résumer le texte source.
Après exécution, le répertoire de sortie contient des copies normalisées :
Standardized/
├── Employee_Travel_Policy.docx
├── Vendor_Onboarding_Guide.docx
├── Security_Incident_Report.docx
└── Remote_Work_Policy.docx
L'exemple suivant montre à quoi ressemble un document Word formaté de manière incohérente avant et après la normalisation assistée par IA.

Extraire les métadonnées et générer des résumés de documents
Une fois le formatage normalisé, l'étape suivante consiste à comprendre ce que contient chaque document.
Ouvrir manuellement des centaines de fichiers et enregistrer leurs titres, départements, dates, catégories et résumés prend du temps. C'est une tâche où la compréhension documentaire par l'IA est particulièrement utile.
Pour cet exemple, nous extrairons six champs de chaque document :
- Titre
- Département
- Type de document
- Date
- Mots-clés
- Résumé
Au lieu de renvoyer une prose libre, l'instruction exige une structure prévisible. Cela rend les résultats plus faciles à traiter ultérieurement.
using System;
using System.IO;
using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Doc;
string inputFolder = @"E:\Documents\Standardized";
string outputFolder = @"E:\Documents\Metadata";
string spireToken = "votre SpireToken";
Directory.CreateDirectory(outputFolder);
string aiRule = """
Analysez ce document Word et créez un rapport de métadonnées concis.
Extrayez les informations suivantes du contenu réel du document :
- Titre
- Département ou fonction métier responsable
- Type de document, tel que Politique, Procédure, Rapport, Guide ou Mémo
- Date d'effet ou Date de publication
- 3 à 5 mots-clés
- Résumé d'environ 80 à 120 mots
Créez un nouveau document concis contenant uniquement ces champs.
Utilisez exactement les étiquettes suivantes :
Titre :
Département :
Type de document :
Date :
Mots-clés :
Résumé :
N'inventez pas d'informations qui ne peuvent pas être raisonnablement déterminées à partir de la source. Si une date ou un département spécifique n'est pas disponible, utilisez 'Non spécifié'. Gardez le résumé factuel et basé uniquement sur le document source.
""";
var aiOpts = new AIOptions { SpireToken = spireToken };
foreach (var file in Directory.GetFiles(inputFolder, "*.docx"))
{
var fileName = Path.GetFileNameWithoutExtension(file);
var savePath = Path.Combine(outputFolder, $"{fileName}_Metadata.docx");
using var doc = new Document();
doc.LoadFromFile(file);
var res = doc.AI(aiOpts).ExecuteInstruction(doc, aiRule, savePath);
Console.WriteLine(res.Success ? $"Métadonnées extraites : {fileName}" : $"Échec : {fileName} - {res.ErrorMessage}");
}
Un document de métadonnées généré ressemble à ceci :

L'exigence d'utiliser des étiquettes fixes est importante.
Si l'invite dit simplement "résumez le document", différents documents peuvent produire des structures de sortie sensiblement différentes. Exiger des champs cohérents rend les fichiers intermédiaires beaucoup plus faciles à combiner dans un index final.
L'instruction indique également explicitement à l'agent de ne pas inventer de métadonnées manquantes. Pour les dossiers professionnels, "Non spécifié" est généralement plus utile que de deviner un département ou une date que le document n'indique jamais.
Créer un index de documents à partir de plusieurs fichiers Word
À ce stade, nous avons un fichier de métadonnées pour chaque document traité :
Metadata/
├── Employee_Travel_Policy_Metadata.docx
├── Vendor_Onboarding_Guide_Metadata.docx
├── Security_Incident_Report_Metadata.docx
└── Remote_Work_Policy_Metadata.docx
La dernière étape consiste à consolider ces fichiers de métadonnées individuels en un index de documents basé sur Word.
Au lieu d'ouvrir manuellement chaque document de métadonnées, d'extraire son texte et de fusionner les résultats en C#, nous pouvons transmettre tous les fichiers de métadonnées directement à Spire.Agent.Office via le paramètre attachments. L'agent IA lit les documents joints, extrait les champs étiquetés de chacun et crée un nouveau document Word contenant un index consolidé.
Le paramètre attachments est utile lorsque la tâche IA dépend de plusieurs fichiers de support plutôt que d'un seul document d'entrée principal. Dans cet exemple, il n'existe aucun document Word à modifier. Nous créons donc un objet Document vide et utilisons les fichiers de métadonnées comme sources d'information pour générer l'index final.
using System;
using System.IO;
using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Doc;
string metadataFolder = @"E:\Documents\Metadata";
string outputPath = @"E:\Documents\Document_Index.docx";
string spireToken = "votre SpireToken";
var attachments = Directory.GetFiles(metadataFolder, "*_Metadata.docx");
string aiRule = """
Lisez tous les documents de métadonnées fournis dans les pièces jointes et créez un index de documents Word consolidé.
Créez le titre 'Index des documents' en haut du document.
Créez un tableau avec les colonnes suivantes :
N° | Titre | Département | Type de document | Date | Mots-clés | Résumé
Exigences :
1. Créez une ligne pour chaque document de métadonnées.
2. Numérotez les enregistrements séquentiellement à partir de 1.
3. Extrayez les valeurs des champs étiquetés dans chaque pièce jointe.
4. Préservez les informations extraites et n'inventez pas de données manquantes.
5. Utilisez 'Non spécifié' lorsqu'un champ est indisponible.
6. Mettez l'en-tête du tableau en gras.
7. Donnez à la colonne Résumé plus de largeur que les autres colonnes.
8. Utilisez un style professionnel propre adapté à un registre de documents interne.
9. Produisez un document Word autonome contenant uniquement l'index final des documents.
""";
var aiOpts = new AIOptions { SpireToken = spireToken };
using var doc = new Document();
var res = doc.AI(aiOpts).ExecuteInstruction(doc, aiRule, outputPath, attachments);
Console.WriteLine(res.Success
? $"Index des documents créé : {outputPath}"
: $"Échec de la création de l'index des documents : {res.ErrorMessage}");
La sortie finale est enregistrée sous :
Document_Index.docx
Au lieu d'ouvrir chaque document original individuellement, les employés peuvent désormais utiliser un index consolidé pour comprendre rapidement quels documents sont disponibles et ce que contient chaque fichier.

Ce type d'index peut être particulièrement utile avant de migrer des fichiers vers un système de gestion documentaire, de préparer une base de connaissances interne, de revoir des collections de documents hérités ou d'organiser des dossiers pour une conservation à long terme.
Meilleures pratiques pour un traitement documentaire fiable par l'IA
L'IA rend le traitement des documents semi-structurés plus flexible, mais des résultats fiables dépendent encore fortement de la conception de la tâche.
Séparer le formatage de l'analyse de contenu
Évitez de demander à l'agent de normaliser le formatage, de réécrire le texte, de résumer le document et d'extraire les métadonnées dans une seule grande instruction.
Ce sont des opérations différentes avec des objectifs différents.
Un flux de travail plus sûr est :
Document original
↓
Normalisation du formatage
↓
Document normalisé
↓
Extraction des métadonnées
↓
Métadonnées structurées
↓
Index des documents
Cela rend également les problèmes plus faciles à identifier et à déboguer.
Définir explicitement les règles de formatage
Des instructions telles que :
Rendez le document professionnel.
laissent trop de place à l'interprétation.
Chaque fois que la cohérence est importante, spécifiez les règles d'entreprise réelles :
Arial, corps de texte 11 pt
Titre du document 20 pt
Titre 1 16 pt
Titre 2 13 pt
Interligne 1,15
Numérotation 1 / 1.1 / 1.1.1
Le même principe s'applique aux en-têtes, pieds de page, formatage de tableau et mise en page.
Protéger le contenu original
Pour les tâches de formatage, incluez explicitement des exigences telles que :
Préservez tout le libellé original.
et :
Ne réécrivez, ne résumez, ne raccourcissez et ne supprimez pas le contenu du document.
Les fichiers sources doivent également être conservés plutôt que remplacés lors du traitement par lots automatisé.
Une structure de dossier pratique est :
Documents/
├── Input/
├── Standardized/
├── Metadata/
└── Document_Index.docx
Demander des métadonnées structurées
Lorsque les informations extraites seront réutilisées par programmation, une sortie prévisible est plus précieuse qu'une sortie créative.
Au lieu de :
Dites-moi de quoi parle ce document.
utilisez un schéma fixe :
Titre :
Département :
Type de document :
Date :
Mots-clés :
Résumé :
Cela rend le traitement en aval considérablement plus facile.
Gérer explicitement les informations manquantes
Tous les documents ne contiennent pas un nom de département, une date d'effet, un numéro de document ou un propriétaire.
Dites à l'IA quoi faire lorsque des informations manquent :
Utilisez "Non spécifié" au lieu de deviner.
Ceci est particulièrement important pour la gestion documentaire, les flux de travail juridiques, financiers, de conformité et autres flux de travail sensibles aux enregistrements.
Revoir les sorties de haute importance
Les métadonnées et résumés générés par l'IA ne doivent pas être automatiquement traités comme des enregistrements faisant autorité dans les flux de travail à enjeux élevés.
Pour l'organisation interne ordinaire des documents, les résultats automatisés peuvent suffire. Pour les archives réglementées, les dossiers juridiques, les documents de conformité ou les systèmes de conservation officiels, les champs extraits et les classifications doivent toujours être validés conformément aux exigences de révision de l'organisation.
Conclusion
Le traitement par lots de Word implique souvent deux problèmes différents.
Le premier est l'automatisation documentaire : changer les polices, appliquer des styles, créer des en-têtes et pieds de page, gérer la numérotation et générer des fichiers Word.
Le second est la compréhension documentaire : déterminer ce que représente le contenu, identifier les types de documents, trouver les dates et les départements, extraire les mots-clés et produire des résumés.
Les API Word traditionnelles sont très efficaces lorsque les développeurs savent déjà exactement quel contenu modifier. Le traitement assisté par IA devient particulièrement utile lorsque les documents sont incohérents et que le logiciel doit d'abord comprendre leur structure avant de décider comment les traiter.
En utilisant Spire.Agent.Office en C#, ces deux capacités peuvent être combinées en un seul flux de travail :
Analyser → Normaliser → Extraire → Organiser
Dans l'exemple ci-dessus, un dossier contenant des documents Word incohérents est transformé en une collection de documents normalisés, un ensemble d'enregistrements de métadonnées structurés et enfin un index de documents Word centralisé.
La même architecture peut être étendue à d'autres flux de travail d'entreprise, tels que les bibliothèques de politiques, les manuels de procédures, la documentation de conformité, les archives de projets, les dossiers RH, la documentation des fournisseurs et la migration de documents hérités.
Au lieu de réviser et d'organiser manuellement les fichiers un par un, les développeurs peuvent définir les règles documentaires et la structure d'information requises en langage naturel et automatiser les parties répétitives du flux de travail tout en produisant de vrais documents Word modifiables.