Bordes y sombreado

Bordes y sombreado

El formato de bordes y sombreado en Aspose.Words FOSS para .NET se modela mediante dos clases de atributos relacionadas: Border, que describe una única línea de borde, y Shading, que describe un patrón de relleno de fondo. Los párrafos, tablas, celdas y fuentes exponen cada uno un BorderCollection (múltiples lados Border) y un único objeto Shading a través de sus respectivas propiedades de formato.


Trabajar con bordes individuales

Un objeto Border representa una línea de borde y expone LineStyle (un valor enum de LineStyle, como Single, Double, Dot o Wave), LineWidth, Color, DistanceFromText, Shadow y propiedades ThemeColor/TintAndShade sensibles al tema. Llama a ClearFormatting() en un Border para restablecerlo a su estado predeterminado (sin borde).

BorderCollection agrupa varios objetos Border para los lados de un objeto. Expone propiedades con nombre para los cuatro bordes — Left, Right, Top, Bottom — además de Horizontal y Vertical para los bordes internos de la tabla. El indexador BorderCollection recupera un lado específico usando un valor enum BorderType (Left, Right, Top, Bottom, Horizontal, Vertical, DiagonalDown, DiagonalUp o None) como clave. Asignar LineWidth, LineStyle o Color directamente a la colección aplica ese valor a todos los bordes que contiene de una vez; ClearFormatting() elimina todos los bordes de la colección simultáneamente.


Aplicando sombreado

Shading lleva el patrón de fondo para un objeto: BackgroundPatternColor y ForegroundPatternColor definen los dos colores del patrón, y Texture (un valor enum TextureIndex) selecciona el patrón — los rellenos sólidos usan TextureIndex.TextureSolid, mientras que los patrones de porcentaje y direccionales (Texture10Percent a Texture97Pt5Percent, TextureHorizontal, TextureDiagonalCross y otros) reproducen la galería de sombreado de Word. ForegroundPatternThemeColor y BackgroundPatternThemeColor proporcionan equivalentes de color de tema, junto con el ajuste de tono/oscurecimiento mediante ForegroundTintAndShade y BackgroundTintAndShade. ClearFormatting() restablece un objeto Shading a sin relleno.


Consejos y Mejores Prácticas

  • Establezca Texture a TextureIndex.TextureSolid y use BackgroundPatternColor para un relleno de fondo liso — el caso de sombreado más común.
  • Utilice el indexador BorderCollection (borders[BorderType.Horizontal] / borders[BorderType.Vertical]) para acceder a las líneas de cuadrícula interiores de una tabla, que no se exponen como propiedades con nombre.
  • Establecer propiedades directamente en un BorderCollection (en lugar de en un Left/Right/Top/Bottom Border individual) es la forma más rápida de aplicar bordes uniformes a todos los lados.
  • Recuerde que LineStyle.None elimina la línea visible sin borrar el resto del ancho o color configurado del borde — use ClearFormatting() para un reinicio completo.
  • Los bordes de celdas de tabla y de párrafo son instancias BorderCollection independientes; establecer uno no afecta al otro.

Problemas comunes

ProblemaCausaSolución
Borde no visible después de configurar ColorLineStyle dejado en LineStyle.NoneEstablezca LineStyle a un estilo visible como Single antes de guardar
El sombreado aparece como un relleno sólido cuando se esperaba un patrónTexture dejado en su valor predeterminadoEstablezca explícitamente Texture al constante de patrón deseado
Los bordes interiores de la tabla no se ven afectados por los cambios en los bordes externosHorizontal/Vertical están separados de Left/Right/Top/BottomEstablezca BorderCollection.Horizontal y .Vertical explícitamente
El indexador BorderCollection devuelve un borde inesperadoSe pasó un valor BorderType incorrectoConfirme que el valor enum BorderType coincide con el lado previsto

FAQ

¿Cómo aplico el mismo borde a los cuatro lados de una celda de tabla?

Establezca LineStyle, LineWidth y Color directamente en el BorderCollection de la celda en lugar de en cada uno de Left, Right, Top y Bottom individualmente — los establecedores a nivel de colección se aplican a cada borde que contiene.

¿Cuál es la diferencia entre Border y Shading?

Border describe una línea (estilo, ancho, color) dibujada a lo largo de un borde; Shading describe un patrón de relleno de fondo detrás del contenido. Son independientes — un objeto puede tener sombreado sin bordes, o bordes sin sombreado.

¿Qué enum controla el patrón de línea visual de un borde?

LineStyle, con valores como Single, Double, Dot, DashSmallGap y Wave.

¿Puedo eliminar un borde por completo?

Sí — llame a ClearFormatting() en el Border o BorderCollection, o establezca LineStyle a LineStyle.None.


API Reference Resumen

Clase / MétodoDescripción
BorderUna sola línea de borde: estilo, ancho, color, sombra
BorderCollectionEl conjunto de bordes (Left, Right, Top, Bottom, Horizontal, Vertical) para un objeto
BorderTypeEnum que identifica un lado del borde
LineStyleEnum de estilos de línea visual (Single, Double, Dot, etc.)
ShadingRelleno de patrón de fondo: colores y Texture
TextureIndexEnum de texturas de patrón de sombreado

Ver también

 Español