Arbeiten mit Dokument-Themen

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 auf Document.Theme.Colors aktualisieren, anstatt das Dokument zu durchlaufen und jedes Formatierungsobjekt einzeln zu ändern.
  • Prüfen Sie, ob die ThemeColor- oder ThemeFont-Eigenschaft eines Formatierungsobjekts None ist, bevor Sie davon ausgehen, dass es auf das Theme zurückgreift – None bedeutet, dass es stattdessen eine eigene explizite Color bzw. Schriftartname enthält.
  • Theme.MajorFonts liefert typischerweise Überschriftschriften und Theme.MinorFonts-Fließtextschriften, die dem Theme-Schriftartauswahl-Tool von Word entsprechen.

Häufige Probleme

ProblemUrsacheLösung
Das Ändern von Document.Theme.Colors.Accent1 wirkt sich nicht auf die Füllung einer Form ausDer Fill.ForeThemeColor der Form ist ThemeColor.None, sodass sie eine explizite Farbe anstelle eines Theme-Platzhalters verwendetSetze Fill.ForeThemeColor auf den gewünschten ThemeColor-Wert, damit er dem Theme folgt
Die gerenderte Schriftart eines Font stimmt nicht mit Theme.MajorFonts.Latin übereinDer Font.ThemeFont (oder skriptspezifische Variante) ist ThemeFont.None, sodass stattdessen der eigene Name der Schriftart verwendet wirdSetzen 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 / EnumBeschreibung
ThemeDokumentthema, über Document.Theme; MajorFonts, MinorFonts, Colors
ThemeColorsZwölf Theme-Color-Slots: Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink
ThemeFontsTheme-Schriftartnamen pro Skript: Latin, EastAsian, ComplexScript
ThemeColorEnum, das einen Theme-Farbslot identifiziert; verwendet von Border, Shading, Fill, Stroke, Font
ThemeFontEnum, das die Major/Minor-Theme-Schriftartverwendung identifiziert; verwendet von Font

Siehe auch

 Deutsch