Arbeiten mit Dokument-Themen
Arbeiten mit Dokument-Themen
Dieser Leitfaden zeigt, wie man das Farb- und Schriftartenschema, das Word-Dokumente mit anderen Office-Anwendungen teilen – das Dokumententhema – unter Verwendung von Theme, ThemeColors, und ThemeFonts in Aspose.Words FOSS für .NET. Das Thema eines Dokuments ist die Palette und Schriftpaarung, auf die themenbewusste Formatierung an anderer Stelle im Objektmodell verweist, anstatt eine bestimmte Farbe oder Schriftart fest zu codieren.
Das Theme-Objekt
Document.Theme gibt eine Theme-Instanz für das Dokument zurück. Theme.Colors ist ein ThemeColors-Objekt, das die zwölf Theme-Farben des Dokuments enthält; Theme.MajorFonts und Theme.MinorFonts sind ThemeFonts-Objekte, die jeweils die Überschriften- bzw. Fließtext-Schriftartensätze enthalten.
Theme-Farben
ThemeColors stellt zwölf beschreibbare Color Eigenschaften: Dark1, Light1, Dark2, Light2, Accent1 through Accent6, Hyperlink, und FollowedHyperlink. Formatierungsobjekte an anderer Stelle im Dokument – Border.ThemeColor, Shading.ForegroundPatternThemeColor / BackgroundPatternThemeColor, Fill.ForeThemeColor / BackThemeColor, Stroke.ForeThemeColor / BackThemeColor, und Font.ThemeColor – halte ein ThemeColor Enum-Wert (Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink, plus Text1, Text2, Background1, Background2, und None) die identifiziert which Themenfarbslot gilt; der tatsächliche Color Wert für diesen Slot stammt vom entsprechenden ThemeColors Eigenschaft ein Document.Theme.Colors.
Theme-Schriften
ThemeFonts stellt drei schreibbare string-Eigenschaften bereit: Latin (für lateinische Schriftzeichen), EastAsian und ComplexScript – die Schriftartnamen, die für jedes Schriftsystem verwendet werden, wenn ein Formatierungsobjekt auf das Theme zurückgreift. Font.ThemeFont, ThemeFontAscii, ThemeFontFarEast, ThemeFontOther und ThemeFontBi enthalten jeweils einen ThemeFont-Enum-Wert (Major, Minor oder None), der angibt, ob ein bestimmtes Font-Objekt für einen bestimmten Skriptbereich auf Theme.MajorFonts oder Theme.MinorFonts zurückgreift, anstatt einen eigenen expliziten Schriftartnamen zu speichern.
Tipps und bewährte Vorgehensweisen
- Ändern Sie eine Farbe über alle themenbewussten Rahmen, Schattierungen, Füllungen und Schriftarten hinweg in einem Schritt, indem Sie die entsprechende
ThemeColors-Eigenschaft aufDocument.Theme.Colorsaktualisieren, anstatt das Dokument zu durchlaufen und jedes Formatierungsobjekt einzeln zu ändern. - Prüfen Sie, ob die
ThemeColor- oderThemeFont-Eigenschaft eines FormatierungsobjektsNoneist, bevor Sie davon ausgehen, dass es auf das Theme zurückgreift –Nonebedeutet, dass es stattdessen eine eigene expliziteColorbzw. Schriftartname enthält. Theme.MajorFontsliefert typischerweise Überschriftschriften undTheme.MinorFonts-Fließtextschriften, die dem Theme-Schriftartauswahl-Tool von Word entsprechen.
Häufige Probleme
| Problem | Ursache | Lösung |
|---|---|---|
Das Ändern von Document.Theme.Colors.Accent1 wirkt sich nicht auf die Füllung einer Form aus | Der Fill.ForeThemeColor der Form ist ThemeColor.None, sodass sie eine explizite Farbe anstelle eines Theme-Platzhalters verwendet | Setze Fill.ForeThemeColor auf den gewünschten ThemeColor-Wert, damit er dem Theme folgt |
Die gerenderte Schriftart eines Font stimmt nicht mit Theme.MajorFonts.Latin überein | Der Font.ThemeFont (oder skriptspezifische Variante) ist ThemeFont.None, sodass stattdessen der eigene Name der Schriftart verwendet wird | Setzen Sie die relevante ThemeFont-Eigenschaft auf Major oder Minor |
FAQ
Wie lese ich die Theme-Farben eines Dokuments?
Lese Document.Theme.Colors, ein ThemeColors-Objekt mit Color-Eigenschaften für jeden der zwölf Themenfarb-Slots – Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink und FollowedHyperlink.
Wie ändere ich die Akzentfarbe des Dokuments überall, wo sie verwendet wird?
Setze Document.Theme.Colors.Accent1 (oder den jeweiligen Akzent-Slot) auf ein neues Color; jedes Formatierungsobjekt, dessen ThemeColor-Eigenschaft auf diesen Slot verweist, übernimmt die Änderung.
Was ist der Unterschied zwischen ThemeColors und ThemeColor?
ThemeColors (auf Document.Theme.Colors) ist das Objekt, das die zwölf tatsächlichen Color-Werte für das Dokument enthält. ThemeColor ist das Enum, das an anderer Stelle (Border, Shading, Fill, Stroke, Font) verwendet wird, um einen dieser Slots per Name zu referenzieren, anstatt eine Farbe direkt zu speichern.
Wie lege ich fest, welche Themen-Schriftart ein Font-Objekt verwendet?
Setze Font.ThemeFont (oder das skript-spezifische ThemeFontAscii / ThemeFontFarEast / ThemeFontOther / ThemeFontBi) auf ThemeFont.Major oder ThemeFont.Minor; der tatsächliche Schriftname stammt dann aus Document.Theme.MajorFonts bzw. MinorFonts.
API Reference Zusammenfassung
| Klasse / Enum | Beschreibung |
|---|---|
Theme | Dokumentthema, über Document.Theme; MajorFonts, MinorFonts, Colors |
ThemeColors | Zwölf Theme-Color-Slots: Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink |
ThemeFonts | Theme-Schriftartnamen pro Skript: Latin, EastAsian, ComplexScript |
ThemeColor | Enum, das einen Theme-Farbslot identifiziert; verwendet von Border, Shading, Fill, Stroke, Font |
ThemeFont | Enum, das die Major/Minor-Theme-Schriftartverwendung identifiziert; verwendet von Font |