Lavorare con i temi del documento

Lavorare con i temi del documento

Lavorare con i temi dei documenti

Questa guida mostra come leggere e personalizzare lo schema di colori e caratteri che i documenti Word condividono con le altre applicazioni Office – il tema del documento – utilizzando Theme, ThemeColors, e ThemeFonts in Aspose.Words FOSS per .NET. Il tema di un documento è la tavolozza e l’abbinamento di caratteri a cui la formattazione sensibile al tema altrove nel modello di oggetti fa riferimento, invece di codificare rigidamente un colore o un nome di carattere specifico.


L’oggetto Tema

Document.Theme restituisce un’istanza Theme per il documento. Theme.Colors è un oggetto ThemeColors che contiene i dodici colori del tema del documento; Theme.MajorFonts e Theme.MinorFonts sono oggetti ThemeFonts che contengono rispettivamente i set di caratteri per intestazioni e corpo.


Colori del tema

ThemeColors espone dodici scrivibili Color proprietà: Dark1, Light1, Dark2, Light2, Accent1 through Accent6, Hyperlink, e FollowedHyperlink. Oggetti di formattazione altrove nel documento – Border.ThemeColor, Shading.ForegroundPatternThemeColor / BackgroundPatternThemeColor, Fill.ForeThemeColor / BackThemeColor, Stroke.ForeThemeColor / BackThemeColor, e Font.ThemeColor – contiene un ThemeColor valore enum (Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink, più Text1, Text2, Background1, Background2, e None) che identifica which slot di colore del tema si applica; il reale Color valore per quello slot proviene dal corrispondente ThemeColors proprietà attiva Document.Theme.Colors.


Caratteri del tema

ThemeFonts espone tre proprietà string scrivibili: Latin (per caratteri a script latino), EastAsian e ComplexScript — i nomi dei font usati per ogni script quando un oggetto di formattazione rinvia al tema. Font.ThemeFont, ThemeFontAscii, ThemeFontFarEast, ThemeFontOther e ThemeFontBi contengono ciascuno un valore enum ThemeFont (Major, Minor o None) che identifica se un dato oggetto Font rinvia a Theme.MajorFonts o Theme.MinorFonts per un intervallo di script specifico, anziché memorizzare un nome di font esplicito proprio.


Suggerimenti e migliori pratiche

  • Modifica un colore su tutti i bordi, le sfumature, i riempimenti e i caratteri sensibili al tema in un’unica operazione aggiornando la proprietà ThemeColors pertinente su Document.Theme.Colors, invece di scorrere il documento per aggiornare ogni oggetto di formattazione individualmente.
  • Verifica se la proprietà ThemeColor o ThemeFont di un oggetto di formattazione è None prima di presumere che rinvii al tema — None indica che possiede il proprio Color o nome di font esplicito.
  • Theme.MajorFonts fornisce tipicamente i font per i titoli e Theme.MinorFonts per il corpo del testo, corrispondendo al selettore di font del tema di Word.

Problemi comuni

ProblemaCausaCorrezione
Modificare Document.Theme.Colors.Accent1 non influisce sul riempimento di una formaIl Fill.ForeThemeColor della forma è ThemeColor.None, quindi utilizza un colore esplicito invece di uno slot del temaImposta Fill.ForeThemeColor sul valore ThemeColor desiderato così da delegare al tema
Il font renderizzato di un Font non corrisponde a Theme.MajorFonts.LatinIl Font.ThemeFont (o variante specifica per lo script) è ThemeFont.None, quindi viene utilizzato il nome proprio del fontImposta la proprietà ThemeFont pertinente su Major o Minor

FAQ

Come posso leggere i colori del tema di un documento?

Leggi Document.Theme.Colors, un oggetto ThemeColors con proprietà Color per ciascuno dei dodici slot di colore del tema – Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink e FollowedHyperlink.

Come posso cambiare il colore di accento del documento ovunque venga usato?

Imposta Document.Theme.Colors.Accent1 (o qualsiasi slot di accento) su un nuovo Color; ogni oggetto di formattazione la cui proprietà ThemeColor fa riferimento a quello slot acquisisce la modifica.

Qual è la differenza tra ThemeColors e ThemeColor?

ThemeColors (su Document.Theme.Colors) è l’oggetto che contiene i dodici valori effettivi di Color per il documento. ThemeColor è l’enumerazione usata altrove (Border, Shading, Fill, Stroke, Font) per fare riferimento a uno di quegli slot per nome invece di memorizzare direttamente un colore.

Come faccio a impostare quale font del tema utilizza un oggetto Font?

Imposta Font.ThemeFont (o i ThemeFontAscii / ThemeFontFarEast / ThemeFontOther / ThemeFontBi specifici dello script) su ThemeFont.Major o ThemeFont.Minor; il nome effettivo del font proviene quindi da Document.Theme.MajorFonts o MinorFonts.


API Reference Riepilogo

Classe / EnumDescrizione
ThemeTema del documento, tramite Document.Theme; MajorFonts, MinorFonts, Colors
ThemeColorsDodici slot Color del tema: Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink
ThemeFontsNomi dei font del tema per script: Latin, EastAsian, ComplexScript
ThemeColorEnum che identifica uno slot di colore del tema; usato da Border, Shading, Fill, Stroke, Font
ThemeFontEnum che identifica l’uso del font del tema Major/Minor; usato da Font

Vedi anche

 Italiano