En savoir plus sur Xceed Words pour .NET
Dans l'article précédent, nous avons vu les bases de la création d'un document docx à l'aide de la fonction Créer, Chargement, Économisez et Sauvegarde ainsi que la manière d'ajouter des paragraphes et d'y ajouter un peu de texte.
Avant d'aborder les autres éléments qui peuvent être ajoutés à un document, nous allons d'abord nous familiariser avec les sections.
Introduction
Lorsqu'un document est créé pour la première fois, il ne comprend par défaut qu'une seule section. Cette section par défaut comprend les 3 types d'en-tête/pied de page (Premier, Pair et Impair), ainsi que les paramètres de formatage par défaut.
Lorsqu'une nouvelle section est ajoutée à un document, elle est ajoutée à la fin du document et commence sur une nouvelle page (une page donnée n'aura jamais deux sections qui se chevauchent).
Pourquoi utiliser différentes sections ?
Pour comprendre pourquoi vous souhaitez avoir plus d'une section dans votre document, examinons la liste des propriétés utiles que vous pouvez personnaliser pour chaque section :
- En-têtes / Pieds de page
- Marges (haut, bas, gauche, droite, en-tête, pied de page, marges miroir)
- Paramètres de la page (hauteur, largeur, bordures, mise en page, début du numéro)
- et plus encore (hyperliens, listes, images, formes, tableaux, etc.)
Si vous avez un document dans lequel vous avez des groupes de pages pour lesquels vous souhaitez des valeurs différentes pour ces propriétés, vous devez placer chaque groupe de pages dans sa propre section.
Par exemple : un manuel d'utilisation avec des sections pour la page de couverture, la table des matières, les chapitres qui constituent le corps principal, et enfin pour la conclusion et/ou les pages d'annexe à la fin :
- Page de couverture : uniquement un titre principal centré sur l'écran, sans en-tête ni pied de page.
- Table des matières : en-têtes/pieds de page personnalisés #1, les pages comptent mais les nombres ne sont pas affichés.
- Contenu principal : en-têtes/pieds de page personnalisés #2, les pages comptent et les nombres sont désormais affichés.
- Pages de conclusion/annexe : en-têtes/pieds de page personnalisés #3
Récupération des sections existantes
Pour récupérer la liste des sections existantes d'un document, nous appelons son fichier Obtenir des sections méthode :
// Open an existing document
using( var document = DocX.Load( "ExistingDocument.docx" ) )
{
var sections = document.GetSections();
// ...
}
Ajout de nouvelles sections
Pour ajouter une nouvelle section à un document, nous appelons la fonction InsertSectionPageBreak méthode.
Vous trouverez ci-dessous un exemple plus complet qui montre également comment les sections peuvent être personnalisées grâce à certaines de leurs propriétés.
Tout d'abord, créons un nouveau document et modifions la section par défaut :
using( var document = DocX.Create( "InsertSections.docx" ) )
{
// Different odd and even pages headers/footers
document.DifferentOddAndEvenPages = true;
// Section 1 – Set footers
document.Sections[0].AddFooters();
document.Sections[0].DifferentFirstPage = true;
var footers = document.Sections[ 0 ].Footers;
footers.First.InsertParagraph( "This is the First page footer." );
footers.Even.InsertParagraph( "This is the Even page footer." );
footers.Odd.InsertParagraph( "This is the Odd page footer." );
// Section 1 - Add paragraphs and page breaks
document.InsertParagraph( "FIRST" ).InsertPageBreakAfterSelf();
document.InsertParagraph( "SECOND" ).InsertPageBreakAfterSelf();
document.InsertParagraph( "THIRD" );
Ensuite, ajoutons une autre section et donnons-lui une taille de page différente :
// Add a Section Break to end the previous section and add a new one
// The new section’s properties will be based on the last section’s properties
document.InsertSectionPageBreak();
// Section 2 - Set page parameters
document.Sections[ 1 ].PageWidth = 200f;
document.Sections[ 1 ].PageHeight = 300f;
// Section 2 - Set footers
document.Sections[ 1 ].AddFooters();
document.Sections[ 1 ].DifferentFirstPage = true;
var footers2 = document.Sections[ 1 ].Footers;
footers2.First.InsertParagraph( "This is the First page footer of Section 2." );
footers2.Odd.InsertParagraph( "This is the Odd page footer of Section 2." );
footers2.Even.InsertParagraph( "This is the Even page footer of Section 2." );
// Section 2 - Add paragraphs and page breaks
document.InsertParagraph( "FOURTH" ).InsertPageBreakAfterSelf();
document.InsertParagraph( "FIFTH" ).InsertPageBreakAfterSelf();
document.InsertParagraph( "SIXTH" );
Enfin, ajoutons une dernière section, donnons-lui une nouvelle taille de page et des marges personnalisées :
// Add a Section Break to end the previous section and add a new one
// The new section’s properties will be based on the last section’s properties
document.InsertSectionPageBreak();
// Section 3 - Set page and margin parameters
document.Sections[ 2 ].PageWidth = 595f;
document.Sections[ 2 ].PageHeight = 841f;
document.Sections[ 2 ].MarginTop = 300f;
document.Sections[ 2 ].MarginFooter = 120f;
// Section 3 - Set footers
document.Sections[ 2 ].AddFooters();
document.Sections[ 2 ].DifferentFirstPage = true;
var footers3 = document.Sections[ 2 ].Footers;
footers3.First.InsertParagraph( "This is the First page footer of Section 3." );
footers3.Odd.InsertParagraph( "This is the Odd page footer of Section 3." );
footers3.Even.InsertParagraph( "This is the Even page footer of Section 3." );
// Section 3 - Add paragraphs and page breaks
document.InsertParagraph( "SEVENTH" ).InsertPageBreakAfterSelf();
document.InsertParagraph( "EIGHTH" ).InsertPageBreakAfterSelf();
document.InsertParagraph( "NINTH" );
// Save this document to disk.
document.Save();
}
Pour plus d'informations, veuillez vous référer à la la documentation