Génération d'une table des matières dans Aspose.Words pour Java

Introduction à la génération d’une table des matières dans Aspose.Words pour Java

Dans ce didacticiel, nous vous guiderons tout au long du processus de génération d’une table des matières (TOC) à l’aide d’Aspose.Words pour Java. La table des matières est une fonctionnalité cruciale pour créer des documents organisés. Nous verrons comment personnaliser l’apparence et la mise en page de la table des matières.

Conditions préalables

Avant de commencer, assurez-vous que Aspose.Words for Java est installé et configuré dans votre projet Java.

Étape 1 : Créer un nouveau document

Tout d’abord, créons un nouveau document avec lequel travailler.

Document doc = new Document();

Étape 2 : Personnaliser les styles de table des matières

Pour personnaliser l’apparence de votre TOC, vous pouvez modifier les styles qui lui sont associés. Dans cet exemple, nous mettrons en gras les entrées de la table des matières de premier niveau.

doc.getStyles().getByStyleIdentifier(StyleIdentifier.TOC_1).getFont().setBold(true);

Étape 3 : ajouter du contenu à votre document

Vous pouvez ajouter votre contenu au document. Ce contenu sera utilisé pour générer la TOC.

Étape 4 : générer la table des matières

Pour générer la table des matières, insérez un champ table des matières à l’emplacement souhaité dans votre document. Ce champ sera automatiquement renseigné en fonction des titres et des styles de votre document.

// Insérez un champ TOC à l'emplacement souhaité dans votre document.
FieldToc fieldToc = new FieldToc();
doc.getFirstSection().getBody().getFirstParagraph().appendChild(fieldToc);

Étape 5 : Enregistrez le document

Enfin, enregistrez le document avec la table des matières.

doc.save("your_output_path_here");

Personnalisation des taquets de tabulation dans la table des matières

Vous pouvez également personnaliser les taquets de tabulation dans votre table des matières pour contrôler la disposition des numéros de page. Voici comment modifier les taquets de tabulation :

Document doc = new Document("Table of contents.docx");

for (Paragraph para : (Iterable<Paragraph>) doc.getChildNodes(NodeType.PARAGRAPH, true))
{
    if (para.getParagraphFormat().getStyle().getStyleIdentifier() >= StyleIdentifier.TOC_1 &&
        para.getParagraphFormat().getStyle().getStyleIdentifier() <= StyleIdentifier.TOC_9)
    {
        //Obtenez le premier onglet utilisé dans ce paragraphe, qui aligne les numéros de page.
        TabStop tab = para.getParagraphFormat().getTabStops().get(0);
        
        // Supprimez l'ancien onglet.
        para.getParagraphFormat().getTabStops().removeByPosition(tab.getPosition());
        
        // Insérez un nouvel onglet à une position modifiée (par exemple, 50 unités vers la gauche).
        para.getParagraphFormat().getTabStops().add(tab.getPosition() - 50.0, tab.getAlignment(), tab.getLeader());
    }
}

doc.save("output.docx");

Vous disposez désormais d’une table des matières personnalisée dans votre document avec des taquets de tabulation ajustés pour l’alignement des numéros de page.

Conclusion

Dans ce didacticiel, nous avons expliqué comment générer une table des matières (TOC) à l’aide d’Aspose.Words pour Java, une bibliothèque puissante permettant de travailler avec des documents Word. Une table des matières bien structurée est essentielle pour organiser et parcourir des documents longs, et Aspose.Words fournit les outils nécessaires pour créer et personnaliser des tables des matières sans effort.

FAQ

Comment modifier le formatage des entrées de la table des matières ?

Vous pouvez modifier les styles associés aux niveaux de table des matières à l’aide dedoc.getStyles().getByStyleIdentifier(StyleIdentifier.TOC_X), où X est le niveau de la table des matières.

Comment puis-je ajouter plus de niveaux à ma table des matières ?

Pour inclure plus de niveaux dans votre TOC, vous pouvez modifier le champ TOC et spécifier le nombre de niveaux souhaité.

Puis-je modifier les positions des taquets de tabulation pour des entrées spécifiques de la table des matières ?

Oui, comme le montre l’exemple de code ci-dessus, vous pouvez modifier les positions des taquets de tabulation pour des entrées de table des matières spécifiques en parcourant les paragraphes et en modifiant les taquets de tabulation en conséquence.