Trabajando con temas de documento

Trabajando con temas de documento

Trabajando con temas de documentos

Esta guía muestra cómo leer y personalizar el esquema de color y fuente que los documentos de Word comparten con otras aplicaciones de Office — el tema del documento — usando Theme, ThemeColors, y ThemeFonts in Aspose.Words FOSS para .NET. El tema de un documento es la paleta y la combinación de fuentes que el formato consciente del tema en otras partes del modelo de objetos referencia en lugar de codificar de forma rígida un color o nombre de fuente específico.


El objeto Theme

Document.Theme devuelve una instancia Theme para el documento. Theme.Colors es un objeto ThemeColors que contiene los doce colores del tema del documento; Theme.MajorFonts y Theme.MinorFonts son objetos ThemeFonts que contienen los conjuntos de fuentes de encabezado y cuerpo, respectivamente.


Colores del tema

ThemeColors expone doce escribibles Color propiedades: Dark1, Light1, Dark2, Light2, Accent1 through Accent6, Hyperlink, y FollowedHyperlink. Objetos de formato en otras partes del documento — Border.ThemeColor, Shading.ForegroundPatternThemeColor / BackgroundPatternThemeColor, Fill.ForeThemeColor / BackThemeColor, Stroke.ForeThemeColor / BackThemeColor, y Font.ThemeColor – contenga un ThemeColor valor de enumeración (Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink, más Text1, Text2, Background1, Background2, y None) que identifica which ranura de color del tema se aplica; el real Color valor para esa ranura proviene del correspondiente ThemeColors propiedad activada Document.Theme.Colors.


Fuentes del tema

ThemeFonts expone tres propiedades string escribibles: Latin (para caracteres de escritura latina), EastAsian y ComplexScript — los nombres de fuente usados para cada escritura cuando un objeto de formato delega en el tema. Font.ThemeFont, ThemeFontAscii, ThemeFontFarEast, ThemeFontOther y ThemeFontBi cada uno contiene un valor enum ThemeFont (Major, Minor o None) que identifica si un objeto Font dado delega en Theme.MajorFonts o Theme.MinorFonts para un rango de escritura particular, en lugar de almacenar su propio nombre de fuente explícito.


Consejos y mejores prácticas

  • Cambie un color en todos los bordes, sombreados, rellenos y fuentes conscientes del tema de una sola vez actualizando la propiedad ThemeColors correspondiente en Document.Theme.Colors, en lugar de recorrer el documento para actualizar cada objeto de formato individualmente.
  • Verifique si la propiedad ThemeColor o ThemeFont de un objeto de formato es None antes de asumir que delega en el tema — None significa que lleva su propio Color explícito o nombre de fuente.
  • Theme.MajorFonts suele proporcionar fuentes para encabezados y Theme.MinorFonts fuentes para el cuerpo, coincidiendo con el selector de fuentes de tema propio de Word.

Problemas comunes

ProblemaCausaSolución
Cambiar Document.Theme.Colors.Accent1 no afecta el relleno de una formaEl Fill.ForeThemeColor de la forma es ThemeColor.None, por lo que usa un color explícito en lugar de una ranura del temaEstablece Fill.ForeThemeColor al valor deseado de ThemeColor para que delegue en el tema
La fuente renderizada de un Font no coincide con Theme.MajorFonts.LatinEl Font.ThemeFont (o variante específica del script) es ThemeFont.None, por lo que se usa el propio nombre de la fuenteEstablezca la propiedad ThemeFont relevante a Major o Minor

FAQ

¿Cómo leo los colores del tema de un documento?

Lea Document.Theme.Colors, un objeto ThemeColors con propiedades Color para cada una de las doce ranuras de color del tema — Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink y FollowedHyperlink.

¿Cómo cambio el color de acento del documento en todos los lugares donde se usa?

Establezca Document.Theme.Colors.Accent1 (o la ranura de acento que corresponda) a un nuevo Color; cada objeto de formato cuya propiedad ThemeColor haga referencia a esa ranura adopta el cambio.

¿Cuál es la diferencia entre ThemeColors y ThemeColor?

ThemeColors (en Document.Theme.Colors) es el objeto que contiene los doce valores reales de Color del documento. ThemeColor es el enum usado en otras partes (Border, Shading, Fill, Stroke, Font) para referenciar una de esas ranuras por nombre en lugar de almacenar directamente un color.

¿Cómo establezco qué fuente del tema usa un objeto Font?

Establezca Font.ThemeFont (o los específicos del script ThemeFontAscii / ThemeFontFarEast / ThemeFontOther / ThemeFontBi) a ThemeFont.Major o ThemeFont.Minor; el nombre real de la fuente proviene entonces de Document.Theme.MajorFonts o MinorFonts.


API Reference Resumen

Clase / EnumeraciónDescripción
ThemeTema del documento, a través de Document.Theme; MajorFonts, MinorFonts, Colors
ThemeColorsDoce ranuras de tema Color: Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink
ThemeFontsNombres de fuentes del tema por script: Latin, EastAsian, ComplexScript
ThemeColorEnumeración que identifica una ranura de color del tema; usada por Border, Shading, Fill, Stroke, Font
ThemeFontEnumeración que identifica el uso de fuentes del tema Major/Minor; usada por Font

Ver también

 Español