Appliquer la mise en forme

Chaque élément d’un tableau peut être appliqué avec une mise en forme différente. Par exemple, la mise en forme du tableau sera appliquée à l’ensemble du tableau, la mise en forme des lignes uniquement à des lignes particulières, la mise en forme des cellules uniquement à certaines cellules.

Aspose.Words fournit une API riche pour récupérer et appliquer la mise en forme à une table. Vous pouvez utiliser les nœuds Table, RowFormat et CellFormat pour définir le formatage.

Dans cet article, nous expliquerons comment appliquer la mise en forme à différents nœuds de table et quels paramètres de mise en forme de table Aspose.Words prend en charge.

Appliquer la mise en forme à différents nœuds

Dans cette section, nous examinerons l’application de la mise en forme à divers nœuds de table.

Formatage Au Niveau du Tableau

Pour appliquer une mise en forme à une table, vous pouvez utiliser les propriétés disponibles sur le nœud Table correspondant à l’aide des classes Table, PreferredWidth et TableCollection.

Les images ci-dessous montrent une représentation des fonctionnalités de mise en forme Table dans Microsoft Word et leurs propriétés correspondantes dans Aspose.Words.

formattin-features-table-level-aspose-words-cpp

formatting-table-options-aspose-words-cpp

L’exemple de code suivant montre comment appliquer une bordure de contour à un tableau:

L’exemple de code suivant montre comment créer un tableau avec toutes les bordures activées (grille):

Formatage Au Niveau des Lignes

Niveau de la rangée

Les images ci-dessous montrent une représentation des fonctionnalités de mise en forme Row dans Microsoft Word et leurs propriétés correspondantes dans Aspose.Words.

formatting-row-level-aspose-words-cpp

L’exemple de code suivant montre comment modifier le formatage des lignes du tableau:

Formatage Au Niveau des Cellules

Le formatage au niveau de la cellule est contrôlé par les classes Cell, CellFormat et CellCollection.

Les images ci-dessous montrent une représentation des fonctionnalités de mise en forme Cell dans Microsoft Word et leurs propriétés correspondantes dans Aspose.Words.

formatting-cell-level-aspose-words-cpp

auto-formatting-cell-level-aspose-words-cpp

L’exemple de code suivant montre comment modifier la mise en forme d’une cellule de tableau:

L’exemple de code suivant montre comment définir la quantité d’espace (en points) à ajouter à gauche / haut / droite / bas du contenu de la cellule:

Spécifiez Les Hauteurs De Rangée

Le moyen le plus simple de définir la hauteur de la ligne est d’utiliser le DocumentBuilder. À l’aide des propriétés RowFormat appropriées, vous pouvez définir le paramètre de hauteur par défaut ou appliquer une hauteur différente pour chaque ligne du tableau.

Dans Aspose.Words, la hauteur des lignes du tableau est contrôlée par:

  • la propriété hauteur de ligne - Height
  • la propriété de règle de hauteur pour la ligne donnée - HeightRule

En même temps, une hauteur différente peut être définie pour chaque rangée – cela vous permet de contrôler largement les paramètres de la table.

L’exemple de code suivant montre comment créer un tableau contenant une seule cellule et appliquer une mise en forme de ligne:

Spécification des largeurs de Tableau et de cellule

Un tableau dans un document Microsoft Word fournit plusieurs façons différentes de redimensionner le tableau et les cellules individuelles. Ces propriétés permettent un contrôle considérable sur l’apparence et le comportement de la table, de sorte que Aspose.Words prend en charge le comportement des tables, comme dans Microsoft Word.

Il est important de savoir que les éléments de tableau présentent plusieurs propriétés différentes qui peuvent affecter la façon dont les largeurs du tableau global, ainsi que des cellules individuelles, sont calculées:

  • Largeur préférée sur la table
  • Largeur préférée sur les cellules individuelles
  • Autoriser l’ajustement automatique sur la table

Cet article détaille le fonctionnement des différentes propriétés de calcul de la largeur de la table et comment obtenir un contrôle total sur le calcul de la largeur de la table. C’est particulièrement utile à savoir dans les cas où la disposition du tableau n’apparaît pas comme prévu.

Comment utiliser la Largeur Préférée

La largeur souhaitée d’un tableau ou de cellules individuelles est définie par la propriété largeur préférée, qui est la taille à laquelle un élément s’efforce de s’adapter. C’est-à-dire que la largeur préférée peut être spécifiée pour l’ensemble du tableau ou pour des cellules individuelles. Dans certaines situations, il peut ne pas être possible d’ajuster exactement cette largeur, mais la largeur réelle sera proche de cette valeur dans la plupart des cas.

Le type et la valeur de largeur préférés appropriés sont définis à l’aide des méthodes de la classe PreferredWidth:

  • la méthode Auto pour spécifier auto ou “pas de largeur préférée”
  • la méthode FromPercent pour spécifier une largeur en pourcentage
  • la méthode FromPoints pour spécifier la largeur en points

Les images ci-dessous montrent une représentation des preferred width setting features dans Microsoft Word et leurs propriétés correspondantes dans Aspose.Words.

formatting-table-properties-aspose-words-cpp

Un exemple de la façon dont ces options sont appliquées à un tableau réel dans un document peut être vu dans l’image ci-dessous.

todo:image_alt_text

Spécifiez la largeur préférée du tableau ou de la cellule

Dans Aspose.Words, les largeurs de tableau et de cellule sont définies à l’aide de la propriété Table.PreferredWidth et de la propriété CellFormat.PreferredWidth, avec des options disponibles dans l’énumération PreferredWidthType:

  • Auto, ce qui équivaut à aucun jeu de largeur préféré
  • Percent, qui adapte l’élément par rapport à l’espace disponible dans la taille de la fenêtre ou du conteneur, et recalcule la valeur lorsque la largeur disponible change
  • Points, qui correspond à un élément de la largeur spécifiée en points

L’utilisation de la propriété Table.PreferredWidth ajustera sa largeur préférée par rapport à son conteneur: page, colonne de texte ou cellule de tableau externe s’il s’agit d’un tableau imbriqué.

L’exemple de code suivant montre comment définir l’ajustement automatique du tableau à 50% de la largeur de la page:

L’utilisation de la propriété CellFormat.PreferredWidth sur une cellule donnée ajustera sa largeur préférée.

L’exemple de code suivant montre comment définir les différents paramètres de largeur préférés:

Trouver le Type et la Valeur de Largeur préférés

Vous pouvez utiliser les propriétés Type et Value pour trouver les détails de largeur préférés de la table ou de la cellule souhaitée.

L’exemple de code suivant montre comment récupérer le type de largeur préféré d’une cellule de tableau:

Comment régler l’ajustement automatique

La propriété AllowAutoFit permet aux cellules d’un tableau de croître et de rétrécir selon un critère sélectionné. Par exemple, vous pouvez utiliser l’option AutoFit to Window pour adapter le tableau à la largeur de la page et l’option AutoFit to Content pour permettre à chaque cellule de croître ou de rétrécir en fonction de son contenu.

Par défaut, Aspose.Words insère une nouvelle table en utilisant AutoFit to Window. Le tableau sera dimensionné en fonction de la largeur de page disponible. Pour redimensionner une table, vous pouvez appeler la méthode AutoFit. Cette méthode accepte une énumération AutoFitBehavior qui spécifie quel type d’ajustement automatique est appliqué à la table.

Il est important de savoir que la méthode d’ajustement automatique est en fait un raccourci qui applique différentes propriétés à la table en même temps. Ce sont des propriétés qui donnent réellement à la table le comportement observé. Nous discuterons de ces propriétés pour chaque option d’ajustement automatique.

L’exemple de code suivant montre comment définir un tableau pour réduire ou agrandir chaque cellule en fonction de son contenu:

AutoFit Table à fenêtre

Lorsque l’ajustement automatique à une fenêtre est appliqué à une table, les opérations suivantes sont réellement effectuées en arrière-plan:

  1. La propriété Table.AllowAutoFit est activée pour redimensionner automatiquement les colonnes en fonction du contenu disponible, en utilisant une valeur Table.PreferredWidth de 100%
  2. CellFormat.PreferredWidth est supprimé de toutes les cellules du tableau
  3. Les largeurs de colonne sont recalculées pour le contenu actuel de la table – le résultat final est une table qui occupe toute la largeur disponible
  4. La largeur des colonnes du tableau change automatiquement lorsque l’utilisateur modifie le texte

L’exemple de code suivant montre comment ajuster automatiquement un tableau à la largeur de la page:

AutoFit Table des matières

Lorsque la table est automatiquement mise en place du contenu, les étapes suivantes sont réellement effectuées en coulisses:

  1. La propriété Table.AllowAutoFit est activée pour redimensionner automatiquement chaque cellule en fonction de son contenu

  2. La largeur préférée du tableau est supprimée de Table.PreferredWidth, CellFormat.PreferredWidth est supprimée pour chaque cellule du tableau

  3. Les largeurs de colonne sont recalculées pour le contenu du tableau actuel – le résultat final est un tableau où les largeurs de colonne et la largeur du tableau entier sont automatiquement redimensionnées pour s’adapter au mieux au contenu lorsque l’utilisateur modifie le texte

L’exemple de code suivant montre comment ajuster automatiquement une table à son contenu:

Désactivez AutoFit dans le Tableau et Utilisez des Largeurs de colonne fixes

Si l’ajustement automatique d’une table est désactivé et que des largeurs de colonne fixes sont utilisées à la place, les étapes suivantes sont effectuées:

  1. la propriété Table.AllowAutoFit est désactivée afin que les colonnes ne s’agrandissent pas ou ne rétrécissent pas à leur contenu
  2. La largeur préférée de l’ensemble du tableau est supprimée de Table.PreferredWidth, CellFormat.PreferredWidth est supprimée de toutes les cellules du tableau
  3. Le résultat final est un tableau dont la largeur des colonnes est déterminée par la propriété CellFormat.Width et dont les colonnes ne sont pas automatiquement redimensionnées lorsque l’utilisateur entre du texte ou lorsque la page est redimensionnée

L’exemple de code suivant montre comment désactiver l’ajustement automatique et activer la largeur fixe pour la table spécifiée:

Ordre de priorité lors du Calcul de la Largeur de Cellule

Aspose.Words permet aux utilisateurs de définir la largeur d’un tableau ou d’une cellule à travers plusieurs objets, y compris CellFormat – sa propriété Width est principalement laissée par les versions précédentes, cependant, elle est toujours utile pour simplifier le réglage de la largeur de la cellule.

Il est important de savoir que la propriété CellFormat.Width fonctionne différemment selon laquelle des autres propriétés de largeur existe déjà dans la table.

Aspose.Words utilise l’ordre suivant pour calculer les largeurs de cellule:

Commande Propriété Descriptif
AllowAutoFit est déterminé Si AutoFit est activé:
- le tableau peut dépasser la largeur préférée pour s’adapter au contenu – il ne rétrécit généralement pas en dessous de la largeur préférée
- toute modification de la valeur CellFormat.Width est ignorée et la cellule s’adaptera à son contenu à la place
PreferredWidthType avec une valeur de Points ou Percent CellFormat.Width est ignoré
PreferredWidthType avec une valeur de Auto La valeur de CellFormat.Width est copiée et devient la largeur préférée de la cellule (en points)

Autoriser L’Espacement Entre Les Cellules

Vous pouvez obtenir ou définir tout espace supplémentaire entre les cellules du tableau similaire à l’option “Espacement des cellules” dans Microsoft Word. Cela peut être fait en utilisant la propriété AllowCellSpacing.

Un exemple de la façon dont ces options sont appliquées à un tableau réel dans un document peut être vu dans l’image ci-dessous.

formatting-spacing-between-cells-aspose-words-cpp

L’exemple de code suivant montre comment définir l’espacement entre les cellules:

Appliquer des Bordures et des Ombrages

Les bordures et l’ombrage peuvent être appliqués soit à l’ensemble du tableau en utilisant Table.SetBorder, Table.SetBorders et Table.SetShading, soit uniquement à des cellules spécifiques en utilisant CellFormat.Borders et CellFormat.Shading. De plus, les bordures de ligne peuvent être définies à l’aide de RowFormat.Borders, mais l’ombrage ne peut pas être appliqué de cette manière.

Les images ci-dessous montrent les paramètres de bordure et d’ombre dans Microsoft Word et leurs propriétés correspondantes dans Aspose.Words.

formatting-border-line-aspose-words-cpp

formatting-cell-color-aspose-words-cpp

L’exemple de code suivant montre comment formater un tableau et une cellule avec différentes bordures et ombrages: