Arbeta med dokumentteman

Arbeta med dokumentteman

Arbeta med dokumentteman

Den här guiden visar hur man läser och anpassar färg- och teckensnittsschemat som Word-dokument delar med andra Office-program – dokumenttemat – med hjälp av Theme, ThemeColors, och ThemeFonts in Aspose.Words FOSS för .NET. Ett dokuments tema är paletten och teckensnittsparningen som temamedveten formatering på andra ställen i objektmodellen refererar till i stället för att hårdkoda en specifik färg eller teckensnittsnamn.


Temaobjektet

Document.Theme returnerar en Theme-instans för dokumentet. Theme.Colors är ett ThemeColors-objekt som innehåller dokumentets tolv temafärger; Theme.MajorFonts och Theme.MinorFonts är ThemeFonts-objekt som innehåller rubrik- respektive brödtextteckensnittssatser.


Temafärger

ThemeColors exponerar tolv skrivbara Color egenskaper: Dark1, Light1, Dark2, Light2, Accent1 through Accent6, Hyperlink, och FollowedHyperlink. Formateringsobjekt på andra ställen i dokumentet – Border.ThemeColor, Shading.ForegroundPatternThemeColor / BackgroundPatternThemeColor, Fill.ForeThemeColor / BackThemeColor, Stroke.ForeThemeColor / BackThemeColor, och Font.ThemeColor – håll en ThemeColor enumvärde (Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink, plus Text1, Text2, Background1, Background2, och None) som identifierar which tema färgslot tillämpas; den faktiska Color värde för den sloten kommer från motsvarande ThemeColors egenskap på Document.Theme.Colors.


Temateckensnitt

ThemeFonts exponerar tre skrivbara string egenskaper: Latin (för latin-skripttecken), EastAsian och ComplexScript – typsnamsnamnen som används för varje skript när ett formateringsobjekt hänvisar till temat. Font.ThemeFont, ThemeFontAscii, ThemeFontFarEast, ThemeFontOther och ThemeFontBi innehåller var och en ett ThemeFont enum-värde (Major, Minor eller None) som identifierar om ett givet Font-objekt hänvisar till Theme.MajorFonts eller Theme.MinorFonts för ett visst skriptintervall, snarare än att lagra ett explicit typsnittnamn själv.


Tips och bästa praxis

  • Ändra en färg i alla temamedvetna kanter, skuggning, fyllning och typsnitt i en enda redigering genom att uppdatera den relevanta ThemeColors-egenskapen på Document.Theme.Colors, istället för att gå igenom dokumentet och uppdatera varje formateringsobjekt individuellt.
  • Kontrollera om ett formateringsobjekts ThemeColor eller ThemeFont egenskap är None innan du antar att det hänvisar till temat – None betyder att det har sitt eget explicita Color eller typsnamsnamn istället.
  • Theme.MajorFonts levererar vanligtvis rubriktypsnitt och Theme.MinorFonts brödtexttypsnitt, vilket matchar Word’s egna tematypsnittsväljare.

Vanliga problem

ProblemOrsakÅtgärd
Att ändra Document.Theme.Colors.Accent1 påverkar inte en formens fyllningFormens Fill.ForeThemeColor är ThemeColor.None, så den använder en explicit färg istället för en temaplatsStäll in Fill.ForeThemeColor på önskat ThemeColor-värde så den hänvisar till temat
En Fonts renderade teckensnitt matchar inte Theme.MajorFonts.LatinDen Font.ThemeFont (eller skript-specifik variant) är ThemeFont.None, så teckensnittets eget namn används iställetStäll in den relevanta ThemeFont egenskapen till Major eller Minor

FAQ

Hur läser jag ett dokuments temafärger?

Läs Document.Theme.Colors, ett ThemeColors-objekt med Color egenskaper för var och en av de tolv temafärgsplatserna – Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink och FollowedHyperlink.

Hur ändrar jag dokumentets accentfärg överallt där den används?

Ställ in Document.Theme.Colors.Accent1 (eller den aktuella accentplatsen) till ett nytt Color; varje formateringsobjekt vars ThemeColor-egenskap refererar till den platsen får förändringen.

Vad är skillnaden mellan ThemeColors och ThemeColor?

ThemeColors (på Document.Theme.Colors) är objektet som innehåller de tolv faktiska Color-värdena för dokumentet. ThemeColor är enum som används på andra ställen (Border, Shading, Fill, Stroke, Font) för att referera till en av dessa platser med namn istället för att lagra en färg direkt.

Hur anger jag vilket temafont ett Font-objekt använder?

Ställ in Font.ThemeFont (eller det skript-specifika ThemeFontAscii / ThemeFontFarEast / ThemeFontOther / ThemeFontBi) till ThemeFont.Major eller ThemeFont.Minor; det faktiska teckensnittsnamnet kommer då från Document.Theme.MajorFonts eller MinorFonts.


API Reference Sammanfattning

Klass / EnumBeskrivning
ThemeDokumenttema, via Document.Theme; MajorFonts, MinorFonts, Colors
ThemeColorsTolv tema Color slots: Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink
ThemeFontsTemats teckensnittsnamn per skript: Latin, EastAsian, ComplexScript
ThemeColorEnum som identifierar en temafärgsplats; används av Border, Shading, Fill, Stroke, Font
ThemeFontEnum som identifierar Major/Minor-temafontanvändning; används av Font

Se även

 Svenska