Lucrul cu temele documentului
Lucrul cu temele documentului
Acest ghid arată cum să citiţi şi să personalizaţi schema de culori şi fonturi pe care documentele Word le partajează cu alte aplicaţii Office – tema documentului – folosind Theme, ThemeColors, şi ThemeFonts in Aspose.Words FOSS pentru .NET. Tema unui document este paleta şi asocierea de fonturi la care se referă formatarea conştientă de temă în alte părţi ale modelului de obiecte, în loc să codifice direct un anumit nume de culoare sau font.
Obiectul temă
Document.Theme returnează o instanță Theme pentru document. Theme.Colors este un obiect ThemeColors care conține cele douăsprezece culori ale temei documentului; Theme.MajorFonts și Theme.MinorFonts sunt obiecte ThemeFonts care dețin seturile de fonturi pentru titlu și corp, respectiv.
Culorile temei
ThemeColors expune douăsprezece scriibile Color proprietăţi: Dark1, Light1, Dark2, Light2, Accent1 through Accent6, Hyperlink, şi FollowedHyperlink. Obiecte de formatare în alte părţi ale documentului – Border.ThemeColor, Shading.ForegroundPatternThemeColor / BackgroundPatternThemeColor, Fill.ForeThemeColor / BackThemeColor, Stroke.ForeThemeColor / BackThemeColor, și Font.ThemeColor – deține un ThemeColor valoare enum (Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink, plus Text1, Text2, Background1, Background2, și None) care identifică which slotul de culoare tematică se aplică; actualul Color valoarea pentru acel slot provine din cel corespunzător ThemeColors proprietate activă Document.Theme.Colors.
Fonturile temei
ThemeFonts expune trei proprietăți string scriabile: Latin (pentru caractere cu script latin), EastAsian și ComplexScript – numele de font utilizate pentru fiecare script când un obiect de formatare se bazează pe temă. Font.ThemeFont, ThemeFontAscii, ThemeFontFarEast, ThemeFontOther și ThemeFontBi dețin fiecare o valoare enum ThemeFont (Major, Minor sau None) care identifică dacă un anumit obiect Font se bazează pe Theme.MajorFonts sau Theme.MinorFonts pentru un interval de script specific, în loc să stocheze propriul său nume de font explicit.
Sfaturi și cele mai bune practici
- Modifică o culoare în toate marginile, umbrele, umplerea și fonturile sensibile la temă printr-o singură editare, actualizând proprietatea
ThemeColorsrelevantă peDocument.Theme.Colors, în loc să parcurgi documentul pentru a actualiza fiecare obiect de formatare individual. - Verifică dacă proprietatea
ThemeColorsauThemeFonta unui obiect de formatare esteNoneînainte de a presupune că se bazează pe temă –Noneînseamnă că are propriul săuColorexplicit sau nume de font. Theme.MajorFontsfurnizează de obicei fonturi pentru titluri șiTheme.MinorFontsfonturi pentru corp, potrivindu-se cu selectorul de fonturi al temei din Word.
Probleme comune
| Problemă | Cauză | Remediere |
|---|---|---|
Modificarea Document.Theme.Colors.Accent1 nu afectează umplerea unei forme | Valoarea Fill.ForeThemeColor a formei este ThemeColor.None, astfel încât folosește o culoare explicită în loc de un slot de temă | Setaţi Fill.ForeThemeColor la valoarea dorită ThemeColor pentru ca să se conformeze temei |
Fontul redat al unui Font nu corespunde cu Theme.MajorFonts.Latin | Elementul Font.ThemeFont (sau varianta specifică scriptului) este ThemeFont.None, așa că se folosește numele propriu al fontului | Setaţi proprietatea ThemeFont relevantă la Major sau Minor |
FAQ
Cum pot citi culorile temei unui document?
Citește Document.Theme.Colors, un obiect ThemeColors cu proprietăți Color pentru fiecare dintre cele douăsprezece sloturi de culoare ale temei – Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink și FollowedHyperlink.
Cum pot schimba culoarea de accent a documentului în toate locurile în care este utilizată?
Setează Document.Theme.Colors.Accent1 (sau orice slot de accent) la un Color nou; fiecare obiect de formatare al cărui proprietate ThemeColor face referire la acel slot preia modificarea.
Care este diferența dintre ThemeColors și ThemeColor?
ThemeColors (pe Document.Theme.Colors) este obiectul care conține cele douăsprezece valori reale Color ale documentului. ThemeColor este enum-ul folosit în altă parte (Border, Shading, Fill, Stroke, Font) pentru a face referire la unul dintre acele sloturi prin nume în loc să stocheze o culoare direct.
Cum pot seta ce font de temă folosește un obiect Font?
Setează Font.ThemeFont (sau ThemeFontAscii / ThemeFontFarEast / ThemeFontOther / ThemeFontBi specifice scriptului) la ThemeFont.Major sau ThemeFont.Minor; numele real al fontului provine apoi din Document.Theme.MajorFonts sau MinorFonts.
API Reference Rezumat
| Clasă / Enum | Descriere: |
|---|---|
Theme | Tema documentului, prin Document.Theme; MajorFonts, MinorFonts, Colors |
ThemeColors | Douăsprezece sloturi Color ale temei: Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink |
ThemeFonts | Numele fonturilor temei pe script: Latin, EastAsian, ComplexScript |
ThemeColor | Enum care identifică un slot de culoare tematică; utilizat de Border, Shading, Fill, Stroke, Font |
ThemeFont | Enum care identifică utilizarea fontului tematic Major/Minor; utilizat de Font |