Praca z motywami dokumentu
Praca z motywami dokumentu
Ten przewodnik pokazuje, jak odczytać i dostosować schemat kolorów i czcionek, który dokumenty Word udostępniają innym aplikacjom Office – temat dokumentu – przy użyciu Theme, ThemeColors, oraz ThemeFonts in Aspose.Words FOSS dla .NET. Temat dokumentu to paleta i zestaw czcionek, do których odnosi się formatowanie świadome tematu w innych częściach modelu obiektowego, zamiast twardego kodowania konkretnego koloru lub nazwy czcionki.
Obiekt motywu
Document.Theme zwraca instancję Theme dla dokumentu. Theme.Colors jest obiektem ThemeColors, który przechowuje dwanaście kolorów motywu dokumentu; Theme.MajorFonts i Theme.MinorFonts są obiektami ThemeFonts, które odpowiednio przechowują zestawy czcionek nagłówka i treści.
Kolory motywu
ThemeColors udostępnia dwanaście zapisywalnych Color właściwości: Dark1, Light1, Dark2, Light2, Accent1 through Accent6, Hyperlink, oraz FollowedHyperlink. Obiekty formatowania w innych częściach dokumentu – Border.ThemeColor, Shading.ForegroundPatternThemeColor / BackgroundPatternThemeColor, Fill.ForeThemeColor / BackThemeColor, Stroke.ForeThemeColor / BackThemeColor, i Font.ThemeColor – przechowuje ThemeColor wartość wyliczeniowa (Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink, plus Text1, Text2, Background1, Background2, i None) które identyfikuje which slot koloru motywu ma zastosowanie; rzeczywisty Color wartość dla tego slotu pochodzi z odpowiadającego ThemeColors właściwość włączona Document.Theme.Colors.
Czcionki motywu
ThemeFonts udostępnia trzy zapisywalne właściwości string: Latin (dla znaków łacińskich), EastAsian i ComplexScript — nazwy czcionek używane dla każdego skryptu, gdy obiekt formatowania odwołuje się do motywu. Font.ThemeFont, ThemeFontAscii, ThemeFontFarEast, ThemeFontOther i ThemeFontBi każdy przechowuje wartość wyliczeniową ThemeFont (Major, Minor lub None) określającą, czy dany obiekt Font odwołuje się do Theme.MajorFonts lub Theme.MinorFonts dla określonego zakresu skryptu, zamiast przechowywać własną jawnie podaną nazwę czcionki.
Wskazówki i najlepsze praktyki
- Zmień kolor we wszystkich obramowaniach, cieniowaniach, wypełnieniach i czcionkach zależnych od motywu w jednej edycji, aktualizując odpowiednią właściwość
ThemeColorswDocument.Theme.Colors, zamiast przechodzić przez dokument i aktualizować każdy obiekt formatowania osobno. - Sprawdź, czy właściwość
ThemeColorlubThemeFontobiektu formatowania jestNone, zanim założysz, że odwołuje się do motywu —Noneoznacza, że posiada własną jawnie określonąColorlub nazwę czcionki. Theme.MajorFontszazwyczaj dostarcza czcionki nagłówków iTheme.MinorFontsczcionki tekstu, odpowiadając wyborcy czcionek motywu w Wordzie.
Typowe problemy
| Problem | Przyczyna | Naprawa |
|---|---|---|
Zmiana Document.Theme.Colors.Accent1 nie wpływa na wypełnienie kształtu | Wartość Fill.ForeThemeColor kształtu to ThemeColor.None, więc używa ona wyraźnego koloru zamiast slotu motywu | Ustaw Fill.ForeThemeColor na pożądaną wartość ThemeColor, aby odwoływał się do motywu |
Renderowana czcionka Font nie pasuje do Theme.MajorFonts.Latin | Ten Font.ThemeFont (lub wariant specyficzny dla skryptu) jest ThemeFont.None, więc zamiast tego używana jest własna nazwa czcionki | Ustaw odpowiednią właściwość ThemeFont na Major lub Minor |
FAQ
Jak odczytać kolory motywu dokumentu?
Przeczytaj Document.Theme.Colors, obiekt ThemeColors z właściwościami Color dla każdego z dwunastu slotów kolorów motywu – Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink i FollowedHyperlink.
Jak zmienić kolor akcentu dokumentu we wszystkich miejscach, w których jest używany?
Ustaw Document.Theme.Colors.Accent1 (lub dowolny slot akcentu) na nowy Color; każdy obiekt formatowania, którego właściwość ThemeColor odwołuje się do tego slotu, przyjmuje zmianę.
Jaka jest różnica między ThemeColors a ThemeColor?
ThemeColors (na Document.Theme.Colors) to obiekt przechowujący dwanaście rzeczywistych wartości Color dla dokumentu. ThemeColor to enum używany w innych miejscach (Border, Shading, Fill, Stroke, Font) do odwoływania się do jednego z tych slotów po nazwie zamiast przechowywania koloru bezpośrednio.
Jak ustawić, której czcionki motywu używa obiekt Font?
Ustaw Font.ThemeFont (lub specyficzne dla skryptu ThemeFontAscii / ThemeFontFarEast / ThemeFontOther / ThemeFontBi) na ThemeFont.Major lub ThemeFont.Minor; rzeczywista nazwa czcionki pochodzi wtedy z Document.Theme.MajorFonts lub MinorFonts.
API Reference Podsumowanie
| Klasa / Wyliczenie | Opis |
|---|---|
Theme | Motyw dokumentu, za pośrednictwem Document.Theme; MajorFonts, MinorFonts, Colors |
ThemeColors | Dwanaście slotów Color motywu: Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink |
ThemeFonts | Nazwy czcionek motywu dla poszczególnych skryptów: Latin, EastAsian, ComplexScript |
ThemeColor | Enum identyfikujący slot koloru motywu; używany przez Border, Shading, Fill, Stroke, Font |
ThemeFont | Enum identyfikujący użycie czcionki motywu Major/Minor; używany przez Font |