Appliquer le formatage de la table
Chaque élément d’un tableau peut être appliqué avec un formatage différent. Par exemple, le formatage de table sera appliqué à l’ensemble de la table, le formatage de ligne à seulement des lignes particulières, le formatage de cellule à seulement certaines cellules.
Aspose.Words fournit une riche API pour récupérer et appliquer le formatage sur une table. Vous pouvez utiliser le Table, RowFormat, et CellFormat noeuds pour définir le formatage.
Dans cet article, nous allons parler de la façon d’appliquer le formatage à différents nœuds de table et quels paramètres de formatage de table Aspose.Words soutien.
Appliquer le formatage à différents nœuds
Dans cette section, nous examinerons l’application du formatage à divers nœuds de table.
Formatage du niveau du tableau
Pour appliquer le formatage à une table, vous pouvez utiliser les propriétés disponibles sur le Table noeud utilisant le Table, PreferredWidth, et TableCollection les cours.
Les images ci-dessous montrent une représentation de la Table fonctions de formatage dans Microsoft Word et leurs propriétés correspondantes dans Aspose.Words.
L’exemple de code suivant montre comment appliquer une bordure de contour à un tableau:
L’exemple de code suivant montre comment construire une table avec toutes les bordures activées (grid):
Formatage du niveau de ligne
Le formatage au niveau de la ligne** peut être contrôlé en utilisant le Row, RowFormat, et RowCollection les cours.
Les images ci-dessous montrent une représentation de la Row fonctions de formatage dans Microsoft Word et leurs propriétés correspondantes dans Aspose.Words.
L’exemple de code suivant montre comment modifier le formatage de la ligne de tableau:
Formatage du niveau de cellule
Le formatage au niveau des cellules est contrôlé par Cell, CellFormat, et CellCollection les cours.
Remarque: Cell ne peut être qu’un nœud d’enfant d’un Row. Dans le même temps, il doit y avoir au moins une Paragraph dans le Cell afin que le formatage puisse lui être appliqué.
En plus de Paragraph, vous pouvez également insérer un Table dans une Cell.
Les images ci-dessous montrent une représentation de la Cell fonctions de formatage dans Microsoft Word et leurs propriétés correspondantes dans Aspose.Words.
L’exemple de code suivant montre comment modifier le formatage d’une cellule de table:
L’exemple de code suivant montre comment définir la quantité d’espace (en points) à ajouter à la gauche/en haut/à droite/en bas du contenu de la cellule:
Spécifier les hauteurs de ligne
La façon la plus simple de régler la hauteur de ligne est d’utiliser le DocumentBuilder. Utilisation de la méthode appropriée RowFormat propriétés, vous pouvez définir la hauteur par défaut ou appliquer une hauteur différente pour chaque ligne de la table.
En Aspose.Words, la hauteur de la rangée de table est contrôlée par:
- la propriété hauteur de rangée – 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 ligne, ce qui vous permet de contrôler largement les paramètres de la table.
L’exemple de code suivant montre comment créer une table contenant une seule cellule et appliquer le formatage de ligne:
Spécifier les largeurs de tableau et de cellule
Une table dans une Microsoft Word document 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 du tableau présentent plusieurs propriétés différentes qui peuvent influer sur la façon dont les largeurs du tableau global, ainsi que les cellules individuelles, sont calculées:
- Largeur préférée sur la table
- Largeur préférée sur les cellules individuelles
- Automatisation sur la table
Cet article détaille comment les différentes propriétés de calcul de la largeur de la table fonctionnent et comment obtenir un contrôle complet sur le calcul de la largeur de la table. Voici Il est particulièrement utile de savoir dans les cas où la présentation du tableau n’apparaît pas comme prévu.
Dans la plupart des cas, la cellule préférée est recommandée par rapport à la largeur de la table. La largeur de cellule préférée est plus en ligne avec la spécification de format DOCX ainsi que la Aspose.Words modèle.
La largeur des cellules est en fait une valeur calculée pour le format DOCX. La largeur réelle des cellules peut dépendre de beaucoup de choses. Par exemple, modifier les marges de la page ou la largeur de la table préférée peut affecter la largeur réelle de la cellule.
La largeur de cellule préférée est une propriété de cellule qui est stockée dans le document. Il ne dépend de rien et ne change pas lorsque vous changez la table ou d’autres propriétés de la cellule.
Comment utiliser la largeur préférée
La largeur souhaitée d’une table ou de cellules individuelles est définie par la propriété de largeur préférée, qui est la taille qu’un élément s’efforce d’adapter. Autrement dit, la largeur préférée peut être spécifiée pour toute la table ou pour chaque cellule. Dans certains cas, il peut ne pas être possible d’adapter cette largeur exactement, mais la largeur réelle sera proche de cette valeur dans la plupart des cas.
Le type de largeur et la valeur de préférence appropriés sont définis en utilisant les méthodes de la PreferredWidth classe:
- les Auto champ pour spécifier la largeur préférée
- les FromPercent méthode pour spécifier un pourcentage de largeur
- les FromPoints méthode pour spécifier la largeur en points
Les images ci-dessous montrent une représentation des caractéristiques de réglage de largeur préféré dans Microsoft Word et leurs propriétés correspondantes dans Aspose.Words.
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.
Spécifiez la table ou la largeur de cellule préférée
En Aspose.Words, les largeurs de la table et de la cellule sont définies en utilisant les Table.PreferredWidth propriété et CellFormat.PreferredWidth propriété, avec options disponibles dans la PreferredWidthType énumération:
- Oui. Auto, qui est équivalent à aucun ensemble de largeur préféré
- Oui. Percent, qui correspond à l’élément par rapport à l’espace disponible dans la fenêtre ou la taille du conteneur, et recalcule la valeur lorsque la largeur disponible change
- Oui. Points, qui correspond à un élément de la largeur spécifiée en points
Utilisation Table.PreferredWidth propriété ajustera sa largeur préférée par rapport à son conteneur: page, colonne de texte, ou cellule de table externe si c’est une table imbriquée.
L’exemple de code suivant montre comment régler automatiquement la table à 50 % de la largeur de la page:
Utilisation CellFormat.PreferredWidth propriété 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é
Vous pouvez utiliser le Type et Value propriétés 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 table:
Comment définir Autofit
Les AllowAutoFit propriété permet aux cellules d’une table de croître et de rétrécir selon un critère sélectionné. Par exemple, vous pouvez utiliser Installation automatique à la fenêtre option pour adapter la table à la largeur de la page, et la Installation automatique au contenu possibilité de permettre à chaque cellule de grandir ou de rétrécir selon son contenu.
Par défaut, Aspose.Words insère un nouveau tableau en utilisant Installation automatique à la fenêtre. Le tableau sera dimensionné en fonction de la largeur de page disponible. Pour redimensionner une table, vous pouvez appeler le AutoFit méthode. Cette méthode accepte AutoFitBehavior énumération qui spécifie quel type d’autofit est appliqué au tableau.
Il est important de savoir que la méthode autofit 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 à la table le comportement observé. Nous allons discuter de ces propriétés pour chaque option d’autofit.
L’exemple de code suivant montre comment définir une table pour rétrécir ou faire croître chaque cellule selon son contenu:
Nous utiliserons le tableau suivant pour appliquer les différents réglages d’ajustement automatique comme démonstration.
Installation automatique de la table dans la fenêtre
Lorsque l’auto-ajustement à une fenêtre est appliqué à une table, les opérations suivantes sont effectivement effectuées dans les coulisses:
- Les Table.AllowAutoFit la propriété est activée pour redimensionner automatiquement les colonnes en fonction du contenu disponible, en utilisant un Table.PreferredWidth Valeur de 100 %
- CellFormat.PreferredWidth est retiré de toutes les cellules de table
Notez que cela est légèrement différent de la Microsoft Word comportement, où la largeur préférée de chaque cellule est définie à des valeurs appropriées en fonction de leur taille actuelle et de leur contenu. Aspose.Words ne met pas à jour la largeur préférée pour qu’ils soient juste nettoyés à la place.
- Les largeurs des colonnes sont recalculées pour le contenu actuel de la table – le résultat final est une table qui occupe toute la largeur disponible
- La largeur des colonnes du tableau change automatiquement à mesure que l’utilisateur modifie le texte
L’exemple de code suivant montre comment auto-adapter une table à la largeur de la page:
Un exemple de la façon dont ces options sont appliquées au tableau ci-dessus peut être vu dans l’image ci-dessous.
AutoFit Table au contenu
Lorsque la table est adaptée automatiquement au contenu, les étapes suivantes sont en fait exécutées dans les coulisses:
-
Les Table.AllowAutoFit propriété est activé pour redimensionner automatiquement chaque cellule selon son contenu
-
La largeur de la table préférée est retirée de Table.PreferredWidth, CellFormat.PreferredWidth est enlevé pour chaque cellule de table
Notez que cette option autofit supprime la largeur préférée des cellules, tout comme dans Microsoft Word. Si vous voulez garder les tailles de colonne et augmenter ou diminuer les colonnes pour correspondre au contenu, vous devez définir le Table.AllowAutoFit propriété True par lui-même plutôt que d’utiliser le raccourci autofit. -
Les largeurs de colonnes sont recalculées pour le contenu courant de la table – le résultat final est une table où les largeurs de colonnes et la largeur de la table entière sont automatiquement redimensionnées pour s’adapter le mieux au contenu lorsque l’utilisateur modifie le texte
L’exemple de code suivant montre comment auto-adapter une table à son contenu:
Un exemple de la façon dont ces options sont appliquées au tableau ci-dessus peut être vu dans l’image ci-dessous.
Désactiver l’autofit dans la table et utiliser les largeurs de colonnes fixes
Si une table a désactivé automatiquement et que les largeurs de colonnes fixes sont utilisées à la place, les étapes suivantes sont effectuées:
- Table.AllowAutoFit la propriété est désactivée de sorte que les colonnes ne croissent pas ou ne rétrécissent pas à leur contenu
- La largeur préférée de la table entière est retirée de Table.PreferredWidth, CellFormat.PreferredWidth est retiré de toutes les cellules de table
- Le résultat final est une table dont la largeur des colonnes est déterminée par la CellFormat.Width propriété, et dont les colonnes ne sont pas automatiquement redimensionnées lorsque l’utilisateur entre le texte ou lorsque la page est redimensionnée
L’exemple de code suivant montre comment désactiver l’autofit et activer la largeur fixe pour le tableau spécifié:
Un exemple de la façon dont ces options sont appliquées au tableau ci-dessus peut être vu dans l’image ci-dessous.
Ordre de priorité lors du calcul de la largeur des cellules
Aspose.Words permet aux utilisateurs de définir la largeur d’une table ou d’une cellule à travers plusieurs objets, y compris CellFormat – ses Width propriété est la plupart du temps laissée de versions précédentes, cependant, il est toujours utile pour simplifier le réglage de la largeur de cellule.
Il est important de savoir que CellFormat.Width propriété fonctionne différemment en fonction de laquelle des autres propriétés de largeur existent déjà dans le tableau.
Aspose.Words utilise l’ordre suivant pour calculer la largeur des cellules:
Ordre | Biens | Désignation des marchandises |
---|---|---|
1 | AllowAutoFit est déterminé | Si AutoFit est activé: - la table peut dépasser la largeur préférée pour accommoder le contenu – elle ne se rétrécit généralement pas sous la largeur préférée - tout changement CellFormat.Width valeur est ignorée et la cellule s’adaptera à son contenu |
2 | PreferredWidthType d’une valeur Points ou Percent | CellFormat.Width est ignoré |
3 | PreferredWidthType d’une valeur Auto | La valeur de CellFormat.Width est copié et devient la largeur préférée de la cellule (en points) |
Permettre l’espacement entre les cellules
Vous pouvez obtenir ou définir n’importe quel espace supplémentaire entre les cellules de la table similaire à l’option “l’espacementell” dans Microsoft Word. Ceci peut être fait en utilisant le AllowCellSpacing propriété.
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.
L’exemple de code suivant montre comment régler l’espacement entre les cellules:
Appliquer les frontières et l’ombrage
Les bordures et l’ombrage peuvent être appliqués soit à l’ensemble du tableau en utilisant Table.SetBorder, Table.SetBorders et Table.SetShading, ou uniquement à des cellules spécifiques utilisant CellFormat.Borders et CellFormat.Shading. En outre, les bordures de ligne peuvent être définies en utilisant RowFormat.Borders, Toutefois, 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.
L’exemple de code suivant montre comment formater une table et une cellule avec différentes bordures et ombres: