Supprimer les tabulations personnalisées des niveaux de liste vous offre un contrôle précis de la mise en forme des listes dans les documents Word. La fonctionnalité Suppression des tabulations de niveau de liste ajoute une méthode simple ListLevel.RemoveTabStop() qui supprime toute tabulation précédemment définie. Cet article vous guide à travers l’installation du SDK, la création d’une liste, la suppression de sa tabulation et l’enregistrement du document mis à jour.
Pourquoi supprimer les tabulations au niveau de la liste dans un document Word
Les listes Word s’appuient souvent sur un arrêt de tabulation par défaut qui aligne le numéro ou le puce de la liste avec le texte. Lorsqu’un document est généré de manière programmatique, vous pouvez ajouter un arrêt de tabulation personnalisé pour obtenir un alignement visuel spécifique. Plus tard, les exigences métier peuvent changer, ou vous pourriez devoir réutiliser le même modèle pour une mise en page différente. Modifier manuellement le document pour supprimer l’arrêt de tabulation est chronophage et source d’erreurs. Avec ListLevel.RemoveTabStop(), vous pouvez revenir programmétiquement au comportement par défaut du niveau de liste, garantissant la cohérence des documents générés sans intervention manuelle.
Présentation de l’API ListLevel
Aspose.Words for .NET fournit un modèle d’objet riche pour manipuler les documents Word. La classe ListLevel représente un seul niveau au sein d’une liste (par exemple, le premier niveau d’une liste numérotée). À partir de la version 26.7, la classe inclut la méthode RemoveTabStop(), qui supprime tout arrêt de tabulation personnalisé défini sur ce niveau.
Pour commencer, installez le package Aspose.Words depuis NuGet :
Install-Package Aspose.Words
Vous pouvez en savoir plus sur le produit sur la Aspose.Words for .NET product page. Une documentation détaillée est disponible dans les Aspose.Words .NET docs, et la référence complète de l’API peut être consultée here.
Supprimer un arrêt de tabulation personnalisé d’un seul niveau de liste
Tutoriel étape par étape
- Créer un nouveau Document et DocumentBuilder. L’objet
Documentcontient le fichier Word en mémoire, tandis queDocumentBuildersimplifie la création de contenu. - Appliquer un format de liste numérotée par défaut. Cela nous donne une liste avec un niveau prédéfini et un arrêt de tabulation.
- Écrire quelques éléments de liste. Les éléments héritent du format de la liste.
- Récupérer le
ListLevelactuel depuis le builder. C’est le niveau que nous venons de créer. - Appeler
RemoveTabStop()sur leListLevel. Cela supprime l’arrêt de tabulation personnalisé. - Enregistrer le document pour vérifier la modification.
L’exemple suivant montre comment supprimer un arrêt de tabulation personnalisé d’un niveau de liste en utilisant C# et Aspose.Words.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Create a list with default formatting
builder.ListFormat.ApplyNumberDefault();
builder.Writeln("Numbered list item 1");
builder.Writeln("Numbered list item 2");
// Get the list level and remove its tab stop
ListLevel listLevel = builder.ListFormat.ListLevel;
listLevel.RemoveTabStop();
doc.Save("Paragraph.RemoveTabStopFromListLevel.docx");
Comment ça fonctionne
builder.ListFormat.ApplyNumberDefault()passe le constructeur en contexte de liste numérotée en utilisant le style de liste par défaut défini par Word. Cela crée implicitement un nouvel objetListet unListLevelcorrespondant pour le premier niveau.builder.Writeln(...)écrit deux éléments de liste. Comme le constructeur est en mode liste, chaque appel préfixe automatiquement le numéro de liste approprié et aligne le texte en fonction du tabulateur du niveau.builder.ListFormat.ListLevelrenvoie l’instanceListLevelqui contrôle le formatage du niveau de liste actuel (niveau 0 dans ce cas).listLevel.RemoveTabStop()supprime le tabulateur personnalisé qui avait été défini lors de la création du niveau de liste. Après cet appel, la liste utilisera le tabulateur par défaut de Word, généralement situé à l’indentation gauche du niveau.doc.Save(...)écrit le document en mémoire dans un fichier nomméParagraph.RemoveTabStopFromListLevel.docx. Ouvrez le fichier dans Microsoft Word ou tout visualiseur compatible pour voir que les numéros et le texte sont maintenant alignés en utilisant le tabulateur par défaut.
Note: Ce fragment de code est reproduit à partir des notes de version officielles d’Aspose.Words et n’a pas été exécuté dans un environnement sandbox. Vérifiez-le dans votre propre configuration de développement avant de l’utiliser en production.
Supprimer les tabulations de tous les niveaux de liste dans un document
Dans de nombreux scénarios réels, un document contient plusieurs listes, chacune avec plusieurs niveaux. Supprimer un arrêt de tabulation d’un seul niveau peut ne pas être suffisant. Le fragment suivant montre comment parcourir chaque liste d’un document et effacer l’arrêt de tabulation à chaque niveau.
// Load an existing document that contains multiple lists
Document doc = new Document("Input.docx");
// Iterate through every list in the document
foreach (List list in doc.Lists)
{
// Each list can have multiple levels (0‑8). Iterate them.
foreach (ListLevel level in list.ListLevels)
{
// Remove any custom tab stop for this level
level.RemoveTabStop();
}
}
// Save the updated document
doc.Save("Output_NoTabStops.docx");
Explication du code
new Document("Input.docx")charge un fichier Word existant qui peut contenir plusieurs listes.doc.Listsrenvoie une collection d’objetsListreprésentant chaque liste distincte dans le document.list.ListLevelsdonne accès aux neuf niveaux possibles (0‑8) pour cette liste. Même si un niveau n’est pas utilisé, la collection contient toujours une instanceListLevelavec le formatage par défaut.- Dans la boucle interne,
level.RemoveTabStop()est appelé sur chaque niveau, garantissant qu’aucun arrêt de tabulation personnalisé ne reste nulle part dans le document. - Enfin,
doc.Save("Output_NoTabStops.docx")écrit le document nettoyé.
Cette approche est particulièrement utile lorsque vous devez imposer une mise en page de liste uniforme sur un lot de rapports générés ou lorsque vous normalisez des documents reçus de sources externes.
Ajout programmatique puis suppression d’une position de tabulation
Il se peut que vous deviez ajouter un arrêt de tabulation personnalisé pour une mise en page temporaire, effectuer certaines opérations, puis revenir aux paramètres par défaut. Le SDK vous permet d’ajouter un arrêt de tabulation avec ListLevel.TabStops.Add(double position). Après avoir terminé le formatage temporaire, vous pouvez appeler RemoveTabStop() pour nettoyer.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.ListFormat.ApplyNumberDefault();
builder.Writeln("Temporarily aligned item 1");
// Add a custom tab stop at 72 points (1 inch)
ListLevel level = builder.ListFormat.ListLevel;
level.TabStops.Add(72);
builder.Writeln("Item with custom tab stop");
// Later, remove the custom tab stop
level.RemoveTabStop();
builder.Writeln("Item after removing tab stop");
doc.Save("TempTabStopDemo.docx");
Explication du code
- Après avoir créé le document et appliqué une liste numérotée, nous écrivons le premier élément.
level.TabStops.Add(72)insère un arrêt de tabulation personnalisé à 72 points (exactement un pouce). L’élément de liste suivant aligne son texte à cette position.- Une fois le formatage temporaire inutile,
level.RemoveTabStop()supprime l’arrêt de tabulation personnalisé, ce qui fait que les éléments suivants reviennent à l’alignement par défaut. - Le
Writelnfinal montre l’effet de la suppression.
Ce modèle est pratique lorsque vous avez besoin d’un ajustement ponctuel—par exemple, pour aligner un titre au sein d’une liste dans une mise en page spécifique—tout en gardant le reste du document propre.
Obtenez une licence gratuite
Aspose propose une licence temporaire gratuite qui supprime les filigranes d’évaluation et offre un accès complet à l’API pour le développement et les tests. Vous pouvez en demander une depuis la page de licence temporaire Aspose.
Ressources supplémentaires gratuites
- Documentation Aspose.Words
- Référence API pour Aspose.Words .NET
- Applications en ligne gratuites – Conversion et édition de Word
Conclusion
Dans ce tutoriel, nous avons expliqué comment utiliser la nouvelle méthode ListLevel.RemoveTabStop() introduite dans Aspose.Words 26.7. En supprimant les tabulations personnalisées, vous retrouvez le contrôle de l’alignement des listes, simplifiez les modèles de documents et assurez une mise en forme cohérente des fichiers Word générés. Les exemples ont montré la suppression pour un seul niveau de liste, la suppression en masse dans l’ensemble d’un document, ainsi qu’un modèle pour des ajustements temporaires des tabulations. L’intégration de ces techniques dans vos applications .NET rendra votre automatisation Word plus robuste et plus facile à maintenir.
FAQ
Que supprime réellement ListLevel.RemoveTabStop() ?
La méthode supprime tout arrêt de tabulation personnalisé qui a été défini pour le niveau de liste, rétablissant le niveau pour qu’il utilise l’arrêt de tabulation par défaut défini par le style du document.Dois‑je appeler Save() après avoir supprimé un arrêt de tabulation ?
Oui. Les modifications sont effectuées en mémoire, vous devez donc appelerDocument.Save()pour enregistrer le formatage de la liste mis à jour dans un fichier.Puis-je supprimer les arrêts de tabulation de tous les niveaux de liste dans un seul document ?
Absolument. Vous pouvez parcourir chaqueListdu document, puis chaqueListLevel, en appelantRemoveTabStop()lorsque cela est nécessaire.RemoveTabStop() est‑il pris en charge pour les listes à puces ainsi que pour les listes numérotées ?
Oui. La méthode fonctionne sur n’importe quelListLevelquel que soit le type de format (puce, numéro ou format à plusieurs niveaux).La suppression d’un arrêt de tabulation personnalisé affectera-t-elle l’indentation des éléments de liste existants ?
Seule la position de l’arrêt de tabulation change. L’indentation globale définie par le retrait gauche du niveau de liste reste inchangée, de sorte que les éléments de liste conservent leur hiérarchie visuelle.Ai‑je besoin d’une licence payante pour utiliser ListLevel.RemoveTabStop()?
L’API est disponible dans la licence temporaire gratuite, mais pour une utilisation en production, vous devez obtenir une licence complète d’Aspose.
