Travailler avec les thèmes de document

Travailler avec les thèmes de document

Travailler avec les thèmes de document

Ce guide montre comment lire et personnaliser le jeu de couleurs et de polices que les documents Word partagent avec les autres applications Office — le thème du document — en utilisant Theme, ThemeColors, et ThemeFonts in Aspose.Words FOSS pour .NET. Le thème d’un document est la palette et l’association de polices que le formatage sensible au thème, ailleurs dans le modèle d’objet, utilise au lieu d’encoder en dur une couleur ou un nom de police spécifique.


L’objet Thème

Document.Theme renvoie une instance Theme pour le document. Theme.Colors est un objet ThemeColors contenant les douze couleurs du thème du document; Theme.MajorFonts et Theme.MinorFonts sont des objets ThemeFonts contenant respectivement les jeux de polices de titre et de corps.


Couleurs du thème

ThemeColors expose douze propriétés modifiables Color propriétés : Dark1, Light1, Dark2, Light2, Accent1 through Accent6, Hyperlink, et FollowedHyperlink. Objets de formatage ailleurs dans le document – Border.ThemeColor, Shading.ForegroundPatternThemeColor / BackgroundPatternThemeColor, Fill.ForeThemeColor / BackThemeColor, Stroke.ForeThemeColor / BackThemeColor, et Font.ThemeColor – contient un ThemeColor valeur d’énum (Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink, plus Text1, Text2, Background1, Background2, et None) qui identifie which le créneau de couleur du thème s’applique; le réel Color valeur pour cet emplacement provient du correspondant ThemeColors propriété activée Document.Theme.Colors.


Polices du thème

ThemeFonts expose trois propriétés string modifiables : Latin (pour les caractères à écriture latine), EastAsian et ComplexScript — les noms de police utilisés pour chaque écriture lorsqu’un objet de mise en forme renvoie au thème. Font.ThemeFont, ThemeFontAscii, ThemeFontFarEast, ThemeFontOther et ThemeFontBi contiennent chacun une valeur d’énumération ThemeFont (Major, Minor ou None) identifiant si un objet Font donné renvoie à Theme.MajorFonts ou Theme.MinorFonts pour une plage d’écriture particulière, plutôt que de stocker un nom de police explicite de son propre.


Conseils et bonnes pratiques

  • Modifiez une couleur sur toutes les bordures, ombrages, remplissages et polices sensibles au thème d’un seul coup en mettant à jour la propriété ThemeColors pertinente sur Document.Theme.Colors, au lieu de parcourir le document pour mettre à jour chaque objet de mise en forme individuellement.
  • Vérifiez si la propriété ThemeColor ou ThemeFont d’un objet de mise en forme est None avant de supposer qu’il renvoie au thème — None signifie qu’il possède son propre Color explicite ou nom de police à la place.
  • Theme.MajorFonts fournit généralement les polices de titre et Theme.MinorFonts les polices de corps, en accord avec le sélecteur de polices de thème de Word.

Problèmes courants

ProblèmeCauseCorrection
Modifier Document.Theme.Colors.Accent1 n’affecte pas le remplissage d’une formeLe Fill.ForeThemeColor de la forme est ThemeColor.None, donc elle utilise une couleur explicite au lieu d’un emplacement de thèmeDéfinissez Fill.ForeThemeColor sur la valeur ThemeColor souhaitée afin qu’il se réfère au thème
La police rendue d’un Font ne correspond pas à Theme.MajorFonts.LatinLe Font.ThemeFont (ou variante spécifique au script) est ThemeFont.None, donc le nom propre de la police est utilisé à la placeDéfinissez la propriété ThemeFont pertinente sur Major ou Minor

FAQ

Comment lire les couleurs de thème d’un document?

Lisez Document.Theme.Colors, un objet ThemeColors avec des propriétés Color pour chacun des douze emplacements de couleur du thème – Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink et FollowedHyperlink.

Comment changer la couleur d’accent du document partout où elle est utilisée?

Définissez Document.Theme.Colors.Accent1 (ou tout autre emplacement d’accent) sur un nouveau Color; chaque objet de mise en forme dont la propriété ThemeColor fait référence à cet emplacement prend le changement.

Quelle est la différence entre ThemeColors et ThemeColor?

ThemeColors (sur Document.Theme.Colors) est l’objet contenant les douze valeurs réelles de Color du document. ThemeColor est l’énumération utilisée ailleurs (Border, Shading, Fill, Stroke, Font) pour référencer l’un de ces emplacements par son nom au lieu de stocker directement une couleur.

Comment définir la police du thème qu’un objet Font utilise?

Définissez Font.ThemeFont (ou les ThemeFontAscii / ThemeFontFarEast / ThemeFontOther / ThemeFontBi spécifiques au script) sur ThemeFont.Major ou ThemeFont.Minor; le nom réel de la police provient alors de Document.Theme.MajorFonts ou MinorFonts.


API Reference Résumé

Classe / EnumDescription
ThemeThème du document, via Document.Theme; MajorFonts, MinorFonts, Colors
ThemeColorsDouze emplacements de thème Color : Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink
ThemeFontsNoms de polices du thème par script : Latin, EastAsian, ComplexScript
ThemeColorÉnumération identifiant un emplacement de couleur de thème ; utilisée par Border, Shading, Fill, Stroke, Font
ThemeFontÉnumération identifiant l’utilisation de la police du thème Major/Minor ; utilisée par Font

Voir aussi

 Français