Cómo Añadir Efecto de Reflejo al Texto en C# | IronWord

How to Add Reflection Effect to Text in C

This article was translated from English: Does it need improvement?
Translated
View the article in English

Aplique un efecto de reflejo de espejo al texto en C# utilizando la sencilla API de IronWord. Cree reflejos de texto profesionales con una sola línea de código, simulando texto reflejado en una superficie para mejorar la profundidad visual.

Inicio rápido: aplicar efecto de reflejo al texto en C#

Con solo una línea de código utilizando IronWord, puedes aplicar un efecto de reflexión predefinido a cualquier texto. Empiece de inmediato, sin necesidad de configuraciones complejas ni código repetitivo.

  1. Instala IronWord con el Administrador de Paquetes NuGet

    PM > Install-Package IronWord
  2. Copie y ejecute este fragmento de código.

    using IronWord;
    using IronWord.Models;
    
    WordDocument doc = new WordDocument();
    TextStyle textStyle = new TextStyle();
    textStyle.TextEffect = new TextEffect() { ReflectionEffect = new Reflection() };
    Paragraph paragraph = new Paragraph();
    Run textRun = new Run(new TextContent("Reflection Text"));
    textRun.Style = textStyle;
    paragraph.AddChild(textRun);
    doc.AddParagraph(paragraph);
    doc.SaveAs("reflection.docx");
  3. Despliegue para probar en su entorno real

    Comienza a usar IronWord en tu proyecto hoy mismo con una prueba gratuita

    arrow pointer

¿Cómo añado un efecto de reflexión?

Para aplicar un efecto de reflexión, cree un TextStyle y complete su propiedad TextEffect con un ReflectionEffect. Luego cree un Paragraph, seguido de un Run que contenga TextContent. Asigne el TextStyle al Run (no al TextContent), luego use AddChild para agregar el Run al Paragraph. Esto sigue la jerarquía del documento: DocumentParagraphRunTextContent.

Los efectos de reflejo mejoran la presentación del documento añadiendo profundidad e interés visual a los elementos de texto importantes. Este efecto funciona especialmente bien para encabezados, títulos y para resaltar información clave en documentos profesionales. El reflejo simula el texto sentado sobre una superficie brillante, creando un aspecto elegante y moderno que atrae la atención del lector.

¿Por qué importa crear un TextStyle?

El objeto TextStyle sirve como el punto central de configuración para todos los formatos de texto en IronWord. Al separar el estilo del contenido, se puede reutilizar el mismo efecto de reflejo en varios elementos de texto, lo que garantiza la coherencia en todo el documento. Este enfoque también facilita la actualización global del efecto de reflexión mediante la modificación de un único objeto de estilo.

:path=/static-assets/word/content-code-examples/how-to/text-effect-reflection-effect.cs
using IronWord;
using IronWord.Models;

// Create new Word document
WordDocument doc = new WordDocument();

// Create and configure text style
TextStyle textStyle = new TextStyle();
textStyle.TextEffect = new TextEffect()
{
    ReflectionEffect = new Reflection(),
};

// Create paragraph
Paragraph paragraph = new Paragraph();

// Create run with text and style
Run textRun = new Run(new TextContent("Hello World"));
textRun.Style = textStyle;

// Add run to paragraph
paragraph.AddChild(textRun);

// Add paragraph to document
doc.AddParagraph(paragraph);

// Export new Word document
doc.SaveAs("reflectionEffect.docx");
Imports IronWord
Imports IronWord.Models

' Create new Word document
Dim doc As New WordDocument()

' Create and configure text style
Dim textStyle As New TextStyle()
textStyle.TextEffect = New TextEffect() With {
    .ReflectionEffect = New Reflection()
}

' Create paragraph
Dim paragraph As New Paragraph()

' Create run with text and style
Dim textRun As New Run(New TextContent("Hello World"))
textRun.Style = textStyle

' Add run to paragraph
paragraph.AddChild(textRun)

' Add paragraph to document
doc.AddParagraph(paragraph)

' Export new Word document
doc.SaveAs("reflectionEffect.docx")
$vbLabelText   $csharpLabel

¿Qué aspecto tiene la reflexión por defecto?

El efecto de reflejo predeterminado crea una sutil imagen de espejo debajo del texto con atenuación automática de la opacidad. Esta configuración preestablecida funciona bien para la mayoría de los documentos y presentaciones empresariales sin requerir ninguna personalización adicional. El reflejo aparece a una distancia estándar con los ajustes adecuados de desenfoque y transparencia que complementan varios tamaños y estilos de fuente.

Microsoft Word muestra el texto

Efectos de reflejo en documentos empresariales españoles

El uso de efectos visuales como el reflejo de texto tiene aplicaciones concretas en la generación de documentación corporativa sujeta a normativa española. Las empresas mid-market que automatizan la producción de documentos Word con IronWord pueden aprovechar los efectos de reflejo para diferenciar visualmente las secciones regulatorias de las secciones comerciales en un mismo documento.

Cabeceras en documentos de información LOPDGDD: Los avisos de privacidad y las políticas de protección de datos que las empresas están obligadas a proporcionar conforme a la LOPDGDD y cuya supervisión recae en la AEPD suelen generarse como documentos Word para su distribución interna o su archivo. Aplicar un efecto de reflejo sutil a los encabezados de estas secciones — por ejemplo, el título "Cláusula de protección de datos" — permite al lector identificar rápidamente los apartados con relevancia normativa. La AEPD recomienda que los textos de privacidad sean visualmente distinguibles del contenido comercial; el efecto de reflejo es una herramienta efectiva para lograr esta diferenciación sin alterar el contenido del texto.

Documentos de certificación ENS y comunicaciones oficiales publicadas en el BOE: Las organizaciones que deben generar documentos de certificación bajo el ENS (Esquema Nacional de Seguridad) — incluyendo organismos públicos, empresas proveedoras de servicios al sector público y entidades financieras supervisadas por el Banco de España o la CNMV — frecuentemente producen informes en Word que incluyen portadas con membrete oficial. El efecto de reflejo aplicado al nombre de la entidad o al título del informe en la portada crea un acabado visual profesional que refuerza la imagen corporativa ante los revisores del proceso de certificación.

Plantillas de TicketBAI para territorios forales: Las empresas que operan en los territorios históricos del País Vasco (Bizkaia, Gipuzkoa, Araba) y que están obligadas a emitir tickets bajo el sistema TicketBAI generan frecuentemente documentos Word como respaldo o copia para el cliente de cada operación. Aplicar el efecto de reflejo al nombre comercial del establecimiento en la cabecera de estos documentos aporta una identidad visual consistente que complementa el código QR de verificación TicketBAI — elemento obligatorio cuya presencia es verificada por las Haciendas Forales correspondientes.

¿Qué propiedades puedo configurar para los efectos de reflexión?

El efecto de reflexión proporciona una gama de atributos ajustables para satisfacer diversas necesidades de diseño. La comprensión de estas propiedades permite crear efectos visuales únicos adaptados al estilo específico del documento. Cada propiedad controla un aspecto diferente del reflejo, desde su posición y ángulo hasta su transparencia y color. Consulta la siguiente lista para obtener descripciones detalladas de cada propiedad:

¿Qué propiedades controlan el aspecto de Reflection?

  • SchemeColor: Obtiene o establece el color del esquema del efecto de reflexión. Matiza los reflejos con cualquier color para conseguir efectos de agua o superficies metálicas.

  • HorizontalSkewAngle: Obtiene o establece el ángulo de inclinación horizontal en grados. Crear efectos de perspectiva en los que los reflejos se pierdan en la distancia.

  • HorizontalScalingFactor: Obtiene o establece el factor de escala horizontal. Los valores inferiores a 100 se comprimen; valores superiores a 100 de estiramiento.

  • DistanceFromText: Obtiene o establece la distancia en puntos (1/72 pulgada). Los valores más pequeños crean reflexiones ajustadas; los valores más grandes simulan superficies distantes.

  • DirectionAngle: Obtiene o establece el ángulo de dirección en grados. Determina la dirección aparente de la fuente de luz.

  • FadeDirectionAngle: Obtiene o establece la dirección de desvanecimiento en grados. Controla el desvanecimiento vertical para reflejos en el suelo o el desvanecimiento angular para efectos de agua.

  • EndPosition: Obtiene o establece la posición final. Determina dónde se desvanece completamente el reflejo.

  • StartPosition: Obtiene o establece la posición inicial. Normalmente 0 para empezar inmediatamente debajo del texto.

  • EndingOpacity: Obtiene o establece la opacidad final. Los valores más bajos crean reflejos sutiles que se difuminan hasta la transparencia.

  • VerticalScalingFactor: Obtiene o establece el factor de escala vertical. Los valores negativos voltean el texto; la magnitud controla la altura.

  • StartingOpacity: Obtiene o establece la opacidad inicial. Los valores más altos crean reflexiones iniciales más fuertes.

  • Alignment: Obtiene o establece la alineación. Elija entre varias opciones para colocar el reflejo en relación con el texto.

  • BlurRadius: Obtiene o establece el radio de desenfoque en puntos (1/72 pulgada). Los valores más altos crean reflejos más suaves y difusos.

  • VerticalSkewAngle: Obtiene o establece el ángulo de inclinación vertical en grados. Se utiliza para crear efectos de reflejo inclinado.

¿Cómo puedo crear un efecto de reflexión personalizado?

Los efectos de reflejo personalizados le permiten adaptarse a la marca de su organización o crear estilos visuales únicos. El siguiente ejemplo muestra un reflejo dorado con una posición y una opacidad específicas que crean un aspecto profesional para certificados, premios o cabeceras de documentos premium.

:path=/static-assets/word/content-code-examples/how-to/text-effect-customized-reflection-effect.cs
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;

// Create new Word document
WordDocument doc = new WordDocument();

// Create and configure text style
TextStyle textStyle = new TextStyle();
textStyle.TextEffect = new TextEffect()
{
    ReflectionEffect = new Reflection()
    {
        Alignment = RectangleAlignmentValues.BottomLeft,
        BlurRadius = 5,
        DirectionAngle = 90,
        DistanceFromText = 5,
        EndingOpacity = 100,
        EndPosition = 10,
        FadeDirectionAngle = 90,
        HorizontalScalingFactor = 100,
        HorizontalSkewAngle = 0,
        SchemeColor = IronWord.Models.Color.Gold,
        StartingOpacity = 0,
        StartPosition = 0,
        VerticalScalingFactor = -100,
        VerticalSkewAngle = 0,
    },
};

// Create paragraph
Paragraph paragraph = new Paragraph();

// Create run with text and style
Run textRun = new Run(new TextContent("Customized reflection"));
textRun.Style = textStyle;

// Add run to paragraph
paragraph.AddChild(textRun);

// Add paragraph to document
doc.AddParagraph(paragraph);

// Export new Word document
doc.SaveAs("customizedReflectionEffect.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums

' Create new Word document
Dim doc As New WordDocument()

' Create and configure text style
Dim textStyle As New TextStyle()
textStyle.TextEffect = New TextEffect() With {
    .ReflectionEffect = New Reflection() With {
        .Alignment = RectangleAlignmentValues.BottomLeft,
        .BlurRadius = 5,
        .DirectionAngle = 90,
        .DistanceFromText = 5,
        .EndingOpacity = 100,
        .EndPosition = 10,
        .FadeDirectionAngle = 90,
        .HorizontalScalingFactor = 100,
        .HorizontalSkewAngle = 0,
        .SchemeColor = IronWord.Models.Color.Gold,
        .StartingOpacity = 0,
        .StartPosition = 0,
        .VerticalScalingFactor = -100,
        .VerticalSkewAngle = 0
    }
}

' Create paragraph
Dim paragraph As New Paragraph()

' Create run with text and style
Dim textRun As New Run(New TextContent("Customized reflection"))
textRun.Style = textStyle

' Add run to paragraph
paragraph.AddChild(textRun)

' Add paragraph to document
doc.AddParagraph(paragraph)

' Export new Word document
doc.SaveAs("customizedReflectionEffect.docx")
$vbLabelText   $csharpLabel

¿Qué resultados puedo conseguir con las propiedades personalizadas?

El ejemplo de reflejo personalizado anterior produce un reflejo dorado distintivo que realza la sensación de calidad del documento. Al ajustar el gradiente de opacidad de 0% a 100%, el reflejo crea un efecto de fundido inverso en el que el reflejo se hace más fuerte a medida que se aleja del texto. Esta técnica funciona bien para crear cabeceras destacadas o resaltar anuncios importantes.

Documento de Word que muestra el texto

Bestes prácticas para efectos de reflexión

Al aplicar efectos de reflexión en documentos profesionales, tenga en cuenta estas directrices:

La sutileza suele funcionar mejor: Para documentos empresariales, utilice valores de opacidad de terminación más bajos (20-40%) para crear reflejos sutiles que realcen sin distraer. Reserva los efectos más fuertes para materiales de marketing o presentaciones en los que el impacto visual sea primordial.

Adapte el estilo de su documento: Alinee las propiedades de reflexión con el diseño general de su documento. Los documentos formales se benefician de los reflejos verticales simples con un mínimo de desenfoque, mientras que los materiales creativos pueden utilizar ángulos sesgados y reflejos de colores para conseguir un efecto artístico.

Consideraciones de rendimiento: Los efectos de reflejo complejos con valores altos de radio de desenfoque pueden aumentar el tamaño del archivo y el tiempo de procesamiento. Para documentos con numerosos elementos reflejados, pruebe el rendimiento y ajuste las propiedades en consecuencia.

Conciencia de accesibilidad: Recuerde que los efectos decorativos como los reflejos deben mejorar la comunicación clara en lugar de sustituirla. Asegúrese de que el texto principal sigue siendo muy legible, especialmente cuando cree documentos que deban cumplir las normas de accesibilidad, incluyendo los requisitos del ENS para documentos electrónicos de la Administración publicados en el BOE o accesibles mediante el sistema de identificación Cl@ve.

Preguntas Frecuentes

¿Cómo se añade un efecto de reflexión al texto en C#?

Con IronWord, puede añadir un efecto de reflexión creando un objeto TextStyle y rellenando la propiedad ReflectionEffect con un objeto Reflection. Simplemente instancie la clase Reflection y asígnela a su estilo de texto; IronWord se encarga automáticamente de todo el complejo renderizado.

¿Cuál es la forma más sencilla de aplicar un efecto de reflejo de texto?

El método más rápido es utilizar la implementación de una línea de IronWord: new IronWord.WordDocument().AddText("Your Text").Style = new IronWord.Models.TextStyle(){ TextEffect = new IronWord.Models.TextEffect(){ ReflectionEffect = new IronWord.Models.Reflection() } }. Esto aplica un efecto de reflexión por defecto instantáneamente.

¿Puedo personalizar las propiedades del efecto de reflexión?

Sí, la clase Reflection de IronWord proporciona varias propiedades configurables para ajustar la apariencia del reflejo, incluido el desvanecimiento de la opacidad, la distancia desde el texto, los ajustes de desenfoque y los niveles de transparencia.

¿Qué aspecto tiene el efecto de reflexión por defecto?

El reflejo predeterminado de IronWord crea una sutil imagen de espejo debajo del texto con desvanecimiento automático de la opacidad. La configuración preestablecida incluye ajustes adecuados de desenfoque y transparencia que funcionan bien con varios tamaños y estilos de fuente.

¿Por qué debo utilizar objetos TextStyle para los efectos de reflexión?

Los objetos TextStyle en IronWord sirven como punto central de configuración para todo el formato de texto. Esta separación entre estilo y contenido permite reutilizar el mismo efecto de reflexión en varios elementos de texto, lo que garantiza la coherencia y facilita la actualización global de los efectos.

¿Cómo puedo usar efectos de reflejo en documentos TicketBAI para el País Vasco?

Las empresas obligadas a emitir TicketBAI en Bizkaia, Gipuzkoa o Araba que generan documentos Word como copia para el cliente pueden aplicar el efecto de reflejo al nombre comercial del establecimiento en la cabecera. Esto crea una identidad visual consistente que complementa el código QR de verificación TicketBAI obligatorio en los documentos de cada operación.

¿Qué consideraciones de accesibilidad debo tener al usar efectos de reflejo en documentos ENS o LOPDGDD?

Los documentos que deben cumplir el ENS (Esquema Nacional de Seguridad) o los avisos de privacidad LOPDGDD supervisados por la AEPD deben mantener el texto principal altamente legible. Use valores de opacidad bajos (20-40%) para los reflejos en estos documentos, y asegúrese de que el efecto no interfiera con la legibilidad del contenido normativo, especialmente en documentos accesibles mediante el sistema Cl@ve publicados en el BOE.

¿Qué tipos de documentos se benefician de los efectos de reflexión?

Los efectos de reflexión funcionan especialmente bien para encabezados, títulos y para resaltar información clave en documentos profesionales: portadas de informes de certificación ENS, cabeceras de documentos TicketBAI y títulos en materiales de presentación corporativa.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 44,829 | Versión: 2026.5 just released
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronWord
ejecuta una muestra observa cómo tus datos se convierten en un documento de Word.