Appliquer le formatage

Chaque élément d’un tableau peut être appliqué avec un formatage différent. Par exemple, le formatage du tableau sera appliqué à l’ensemble du tableau, le formatage des lignes à des lignes particulières uniquement, le formatage des cellules à certaines cellules uniquement.

Aspose.Words fournit un API riche pour récupérer et appliquer le formatage à un tableau. Vous pouvez utiliser les nœuds Table, RowFormat et CellFormat pour définir le formatage.

Dans cet article, nous expliquerons comment appliquer le formatage à différents nœuds de tableau et quels paramètres de formatage de tableau sont pris en charge par Aspose.Words.

Appliquer le formatage à différents nœuds

Dans cette section, nous examinerons l’application du formatage à différents nœuds de table.

Formatage au niveau du tableau

Pour appliquer une mise en forme à un tableau, 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 formatage Table en Microsoft Word et de leurs propriétés correspondantes en Aspose.Words.

formattin-features-table-level-aspose-words-python

formatting-table-options-aspose-words-python

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

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

Formatage au niveau des lignes

Le formatage Au niveau de la ligne peut être contrôlé à l’aide des classes Row, RowFormat et RowCollection.

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

formatting-row-level-aspose-words-python

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

Formatage au niveau des cellules

Le formatage au niveau des cellules est contrôlé par les classes Cell, CellFormat et CellCollection.

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

formatting-cell-level-aspose-words-python

auto-formatting-cell-level-aspose-words-python

L’exemple de code suivant montre comment modifier le formatage d’une cellule de tableau:

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

Spécifier les hauteurs de ligne

Le moyen le plus simple de définir la hauteur des lignes consiste à 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 la règle de hauteur pour la ligne donnée – HeightRule

Dans le 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 la mise en forme des lignes:

Spécification des largeurs de tableau et de cellule

Un tableau dans un document Microsoft Word propose plusieurs manières 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 du tableau, de sorte que Aspose.Words prend en charge le comportement des tableaux, comme dans Microsoft Word.

Il est important de savoir que les éléments du tableau présentent plusieurs propriétés différentes qui peuvent affecter la manière dont la largeur du tableau global, ainsi que celle des cellules individuelles, est calculée:

  • 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 du tableau et comment obtenir un contrôle total sur le calcul de la largeur du tableau. C’est particulièrement utile à connaître 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 via la propriété de largeur préférée, qui correspond à la taille à laquelle un élément s’efforce de s’adapter. Autrement dit, 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ée appropriés sont définis à l’aide des méthodes de la classe PreferredWidth:

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

Les images ci-dessous montrent une représentation des fonctionnalités de réglage de largeur préférées dans Microsoft Word et de leurs propriétés correspondantes dans Aspose.Words.

formatting-table-properties-aspose-words-python

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.

tables-applying-options-python

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

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

  • Auto, ce qui équivaut à aucun ensemble de largeurs préférées
  • Percent, qui ajuste 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 externe du tableau s’il s’agit d’un tableau imbriqué.

L’exemple de code suivant montre comment configurer le tableau pour qu’il s’ajuste automatiquement à 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:

Recherche du type et de 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 du tableau 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 définir l’ajustement automatique

La propriété AllowAutoFit permet aux cellules d’un tableau de s’agrandir et de se réduire selon un critère sélectionné. Par exemple, vous pouvez utiliser l’option Ajustement automatique à la fenêtre pour ajuster le tableau à la largeur de la page et l’option Ajustement automatique au contenu pour permettre à chaque cellule de s’agrandir ou de se réduire en fonction de son contenu.

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

Il est important de savoir que la méthode d’ajustement automatique est en réalité un raccourci qui applique simultanément différentes propriétés au tableau. Ce sont des propriétés qui donnent réellement au tableau 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:

Ajuster automatiquement le tableau à la fenêtre

Lorsque l’ajustement automatique d’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 pour les adapter au 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 colonnes sont recalculées pour le contenu actuel du tableau – le résultat final est un tableau qui occupe toute la largeur disponible
  4. La largeur des colonnes du tableau change automatiquement à mesure que l’utilisateur modifie le texte

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

Ajuster automatiquement le tableau au contenu

Lorsque le contenu du tableau est automatiquement ajusté, les étapes suivantes sont réellement effectuées en arrière-plan:

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

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

  3. Les largeurs de colonnes sont recalculées pour le contenu actuel du tableau – le résultat final est un tableau dans lequel les largeurs de colonnes 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 l’ajustement automatique dans le tableau et utilisez des largeurs de colonne fixes

Si l’ajustement automatique d’un tableau est désactivé et que des largeurs de colonnes 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 se réduisent 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é de toutes les cellules du tableau
  3. Le résultat final est un tableau dont les largeurs de colonnes sont déterminées par la propriété CellFormat.Width, et dont les colonnes ne sont pas automatiquement redimensionnées lorsque l’utilisateur saisit 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:

L’ordre de priorité lors du calcul de la largeur des cellules

Aspose.Words permet aux utilisateurs de définir la largeur d’un tableau ou d’une cellule via plusieurs objets, y compris CellFormat – sa propriété Width est en grande partie héritée des versions précédentes, cependant, elle reste utile pour simplifier la définition de la largeur des cellules.

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 le tableau.

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

Commande Propriété Description
1 AllowAutoFit est déterminé Si AutoFit est activé:
- le tableau peut s’étendre au-delà de 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
2 PreferredWidthType avec une valeur de Points ou Percent CellFormat.Width est ignoré
3 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 n’importe quel 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.

formatage-espacement-entre-cellules-aspose-mots-python

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

Application de bordures et d’ombrages

Les bordures et l’ombrage peuvent être appliqués soit à l’ensemble du tableau à l’aide de Table.SetBorder, Table.SetBorders et Table.SetShading, soit uniquement à des cellules spécifiques à l’aide de CellFormat.Borders et CellFormat.Shading. De plus, les bordures de lignes 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-python

formatting-cell-color-aspose-words-python

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