Travailler avec des Sections
Parfois, vous voulez un document qui n’a pas la même mise en forme sur toutes les pages. Par exemple, vous devrez peut-être modifier les formats des numéros de page, avoir une taille et une orientation de page différentes, ou avoir la première page du document comme page de garde sans numérotation. Vous pouvez y parvenir avec des sections.
Les sections sont des nœuds de niveau qui contrôlent les en-têtes et les pieds de page, l’orientation, les colonnes, les marges, la mise en forme des numéros de page, etc.
Aspose.Words vous permet de gérer des sections, de diviser un document en sections et d’apporter des modifications de mise en forme qui ne s’appliquent qu’à une section spécifique. Aspose.Words stocke des informations sur la mise en forme des sections, telles que les en-têtes et les pieds de page, la mise en page et les paramètres de colonne dans le saut de section.
Cet article explique comment travailler avec des sections et des sauts de section.
Quelle Section et Rupture de Section Est
Les sections de document sont représentées par les classes Section et SectionCollection. Les objets de section sont des enfants immédiats du nœud Document et sont accessibles via la propriété Sections. Vous pouvez gérer ces nœuds en utilisant certaines méthodes telles que Remove, Add, IndexOf, et d’autres.
Le saut de section est une option qui divise les pages du document en sections avec des mises en page personnalisables.
Types de saut de section
Aspose.Words vous permet de diviser et de formater des documents en utilisant différents sauts de section de l’énumération BreakType:
- SectionBreakContinuous
- SectionBreakNewColumn
- SectionBreakNewPage
- SectionBreakEvenPage
- SectionBreakOddPage
Vous pouvez également utiliser l’énumération SectionStart pour choisir un type de rupture qui s’applique uniquement à la première section, par exemple NewColumn, NewPage, EvenPage, et OddPage.
Gérer une Section
Puisqu’une section est un nœud composite normal, toute l’API de manipulation de nœud peut être utilisée pour manipuler des sections: pour ajouter, supprimer et d’autres opérations sur des sections. Vous pouvez en savoir plus sur les nœuds dans l’article Aspose.Words Modèle d’objet de document (DOM).
D’autre part, vous pouvez également utiliser l’API DocumentBuilder
pour travailler avec des sections. Dans cet article, nous allons nous concentrer sur cette façon particulière de travailler avec les sections.
Insérer ou supprimer un saut de section
Aspose.Words vous permet d’insérer un saut de section dans du texte à l’aide de la méthode InsertBreak.
L’exemple de code suivant montre comment insérer un saut de section dans un document:
Utilisez la méthode Remove pour supprimer un saut de section. Si vous n’avez pas besoin de supprimer un saut de section spécifique et de supprimer à la place le contenu de cette section, vous pouvez utiliser la méthode ClearContent.
L’exemple de code suivant montre comment supprimer les sauts de section:
Déplacer une Section
Si vous souhaitez déplacer une section d’une position à une autre dans votre document, vous devez obtenir l’index de cette section. Aspose.Words vous permet d’obtenir une position de section à partir d’un SectionCollection. Vous pouvez utiliser la propriété Sections pour obtenir toutes les sections de votre document. Mais si vous souhaitez obtenir uniquement la première section, vous pouvez utiliser la propriété FirstSection.
L’exemple de code suivant montre comment accéder à la première section et parcourir les enfants d’un nœud composite:
Spécifier une disposition de Section
Parfois, vous souhaitez que votre document soit plus beau en créant des mises en page créatives pour différentes sections du document. Si vous souhaitez spécifier le type de la grille de section actuelle, vous pouvez choisir un mode de disposition de section à l’aide de l’énumération SectionLayoutMode:
- Par Défaut
- Grille
- LineGrid
- SnapToChars
L’exemple de code suivant montre comment limiter le nombre de lignes que chaque page peut avoir:
Modifier une Section
Lorsque vous ajoutez une nouvelle section à votre document, il n’y aura ni corps ni paragraphe que vous pourrez modifier. Aspose.Words vous permet de garantir qu’une section contient un corps avec au moins un paragraphe en utilisant la méthode EnsureMinimum – elle ajoutera automatiquement un nœud Body (ou HeaderFooter) au document, puis y ajoutera un paragraphe.
L’exemple de code suivant montre comment préparer un nouveau nœud de section à l’aide de EnsureMinimum:
Ajouter ou Ajouter du contenu
Si vous souhaitez dessiner une forme ou ajouter du texte ou une image au début/à la fin d’une section, vous pouvez utiliser les méthodes AppendContent et PrependContent de la classe Section.
L’exemple de code suivant montre comment ajouter du contenu d’une section existante:
Cloner une Section
Aspose.Words vous permet de dupliquer une section en en créant une copie complète à l’aide de la méthode Clone.
L’exemple de code suivant montre comment cloner la première section de votre document:
Copier des Sections entre des documents
Dans certains cas, vous pouvez avoir de gros documents avec de nombreuses sections et vous souhaitez copier le contenu d’une section d’un document à un autre.
Aspose.Words vous permet de copier des sections entre des documents à l’aide de la méthode ImportNode.
L’exemple de code suivant montre comment copier des sections entre des documents:
Travailler avec l’en-tête et le pied de page de section
Les règles de base pour afficher un en-tête ou un pied de page pour chaque section sont assez simples:
- Si la section n’a pas ses propres en-têtes/pieds de page d’un certain type, elle est extraite de la section précédente.
- Le type d’en-tête / pied de page affiché sur la page est contrôlé par les paramètres de section “Première page différente” et “Pages paires et impaires différentes” – s’ils sont désactivés, les propres titres de la section sont ignorés.
L’exemple de code suivant montre comment créer des sections 2 avec des en-têtes différents:
Si vous souhaitez supprimer le texte des en-têtes et des pieds de page sans supprimer les objets HeaderFooter de votre document, vous pouvez utiliser la méthode ClearHeadersFooters. De plus, vous pouvez utiliser la méthode DeleteHeaderFooterShapes pour supprimer toutes les formes des en-têtes et des pieds de page de votre document.
L’exemple de code suivant montre comment effacer le contenu de tous les en-têtes et pieds de page d’une section:
L’exemple de code suivant explique comment supprimer toutes les formes de tous les pieds de page des en-têtes d’une section:
Personnaliser les propriétés de la Page dans une Section
Avant d’imprimer une page ou un document, vous souhaiterez peut-être personnaliser et modifier la taille et la mise en page d’une seule page ou du document entier. Avec la mise en page, vous pouvez modifier les paramètres des pages du document tels que les marges, l’orientation et la taille pour imprimer différentes premières pages ou pages impaires.
Aspose.Words vous permet de personnaliser les propriétés de page et de section à l’aide de la classe PageSetup.
L’exemple de code suivant montre comment définir des propriétés telles que la taille et l’orientation de la page pour la section en cours:
L’exemple de code suivant montre comment modifier les propriétés de la page dans toutes les sections: