Bordures et ombrage
Bordures et ombrage
La mise en forme des bordures et de l’ombrage dans Aspose.Words FOSS pour .NET est modélisée par deux classes d’attributs liées: Border, qui décrit une ligne de bordure unique, et Shading, qui décrit un motif de remplissage d’arrière-plan. Les paragraphes, tableaux, cellules et polices exposent chacun un BorderCollection (plusieurs côtés Border) et un seul objet Shading via leurs propriétés de mise en forme respectives.
Travailler avec des bordures individuelles
Un objet Border représente une ligne de bordure et expose LineStyle (une valeur d’énumération provenant de LineStyle, comme Single, Double, Dot ou Wave), LineWidth, Color, DistanceFromText, Shadow et les propriétés conscientes du thème ThemeColor/TintAndShade. Appelez ClearFormatting() sur un Border pour le réinitialiser à son état par défaut (aucune bordure).
BorderCollection regroupe plusieurs objets Border pour les côtés d’un objet. Il expose des propriétés nommées pour les quatre bords — Left, Right, Top, Bottom — ainsi que Horizontal et Vertical pour les bordures internes du tableau. L’indexeur BorderCollection récupère un côté spécifique en utilisant une valeur d’énumération BorderType (Left, Right, Top, Bottom, Horizontal, Vertical, DiagonalDown, DiagonalUp ou None) comme clé. Affecter LineWidth, LineStyle ou Color directement sur la collection applique cette valeur à chaque bordure qu’elle contient en une fois; ClearFormatting() supprime toutes les bordures de la collection simultanément.
Appliquer l’ombrage
Shading porte le motif d’arrière-plan d’un objet: BackgroundPatternColor et ForegroundPatternColor définissent les deux couleurs du motif, et Texture (une valeur d’énumération TextureIndex) sélectionne le motif — les remplissages unis utilisent TextureIndex.TextureSolid, tandis que les motifs en pourcentage et directionnels (Texture10Percent à Texture97Pt5Percent, TextureHorizontal, TextureDiagonalCross et autres) reproduisent la galerie d’ombrage de Word. ForegroundPatternThemeColor et BackgroundPatternThemeColor fournissent les équivalents de couleur du thème, ainsi que le réglage de teinte/ombrage via ForegroundTintAndShade et BackgroundTintAndShade. ClearFormatting() réinitialise un objet Shading à aucun remplissage.
Conseils et meilleures pratiques
- Définissez
TexturesurTextureIndex.TextureSolidet utilisezBackgroundPatternColorpour un remplissage d’arrière-plan uni — le cas d’ombrage le plus courant. - Utilisez l’indexeur
BorderCollection(borders[BorderType.Horizontal]/borders[BorderType.Vertical]) pour atteindre les lignes de grille intérieures d’un tableau, qui ne sont pas exposées en tant que propriétés nommées. - Définir les propriétés directement sur un
BorderCollection(plutôt que sur unLeft/Right/Top/BottomBorderindividuel) est la façon la plus rapide d’appliquer des bordures uniformes à tous les côtés. - Rappelez-vous que
LineStyle.Nonesupprime la ligne visible sans effacer le reste de la largeur ou de la couleur configurées de la bordure — utilisezClearFormatting()pour une réinitialisation complète. - Les bordures des cellules de tableau et des paragraphes sont des instances
BorderCollectionindépendantes; définir l’une n’affecte pas l’autre.
Problèmes courants
| Problème | Cause | Correction |
|---|---|---|
Bordure non visible après avoir défini Color | LineStyle laissé à LineStyle.None | Définissez LineStyle sur un style visible tel que Single avant d’enregistrer |
| L’ombrage apparaît comme un remplissage uni alors qu’un motif était attendu | Texture laissé à sa valeur par défaut | Définissez explicitement Texture à la constante de motif souhaitée |
| Les bordures intérieures du tableau ne sont pas affectées par les modifications de la bordure extérieure | Horizontal/Vertical sont séparés de Left/Right/Top/Bottom | Définissez BorderCollection.Horizontal et .Vertical explicitement |
L’indexeur BorderCollection renvoie une bordure inattendue | Valeur BorderType incorrecte transmise | Vérifiez que la valeur d’énumération BorderType correspond au côté prévu |
FAQ
Comment appliquer la même bordure aux quatre côtés d’une cellule de tableau?
Définissez LineStyle, LineWidth et Color directement sur le BorderCollection de la cellule plutôt que sur chacun des Left, Right, Top et Bottom individuellement — les paramètres au niveau de la collection s’appliquent à chaque bordure qu’elle contient.
Quelle est la différence entre Border et Shading?
Border décrit une ligne (style, épaisseur, couleur) tracée le long d’un bord; Shading décrit un motif de remplissage d’arrière-plan derrière le contenu. Elles sont indépendantes — un objet peut avoir un ombrage sans bordures, ou des bordures sans ombrage.
Quel enum contrôle le motif de ligne visuel d’une bordure?
LineStyle, avec des valeurs telles que Single, Double, Dot, DashSmallGap et Wave.
Puis-je supprimer complètement une bordure?
Oui — appelez ClearFormatting() sur le Border ou le BorderCollection, ou définissez LineStyle sur LineStyle.None.
API Reference Résumé
| Classe / Méthode | Description |
|---|---|
Border | Une ligne de bordure unique : style, largeur, couleur, ombre |
BorderCollection | L’ensemble des bordures (Left, Right, Top, Bottom, Horizontal, Vertical) d’un objet |
BorderType | Enum identifiant un côté de bordure |
LineStyle | Enum des styles de ligne visuels (Single, Double, Dot, etc.) |
Shading | Remplissage du motif d’arrière-plan : couleurs et Texture |
TextureIndex | Énumération des textures de motifs d’ombrage |