How to Add Reflection Effect to Text in C#
Apply a mirror-like reflection effect to text in C# using IronWord's simple API. Create professional text reflections with one line of code, simulating text reflected on a surface for enhanced visual depth.
Quickstart: Apply Reflection Effect to Text in C#With just one line of code using IronWord, you can apply a preset reflection effect to any text. Get started instantly - no complex setup or boilerplate code needed.
-
1Install IronWord with NuGet Package Manager
-
2Copy and run this code snippet.
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");C# -
3Deploy to test on your live environment
Start using IronWord in your project today with a free trial
How to Add Reflection Effect to Text (5 steps)
- Install IronWord:
Install-Package IronWord - Create a
TextStyleand configureReflectionEffectusingnew Reflection() - Create a
RuncontainingTextContentand assign theTextStyleto theRun - Add the
Runto aParagraphusingAddChild - Save the document
How Do I Add a Reflection Effect?
To apply a reflection effect, create a TextStyle and populate its TextEffect property with a ReflectionEffect. Then create a Paragraph, followed by a Run containing TextContent. Assign the TextStyle to the Run (not the TextContent), then use AddChild to add the Run to the Paragraph. This follows the document hierarchy: Document → Paragraph → Run → TextContent.
Reflection effects enhance document presentation by adding depth and visual interest to important text elements. This effect works particularly well for headers, titles, and emphasizing key information in professional documents. The reflection simulates text sitting on a glossy surface, creating an elegant and modern appearance that draws the reader's attention.
Why Does Creating a TextStyle Matter?
The TextStyle object serves as the central configuration point for all text formatting in IronWord. By separating style from content, you can reuse the same reflection effect across multiple text elements, ensuring consistency throughout your document. This approach also makes it easy to update the reflection effect globally by modifying a single style object.
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")What Does the Default Reflection Look Like?
The default reflection effect creates a subtle mirror image below the text with automatic opacity fade. This preset configuration works well for most business documents and presentations without requiring any additional customization. The reflection appears at a standard distance with appropriate blur and transparency settings that complement various font sizes and styles.

What Properties Can I Configure for Reflection Effects?
The reflection effect provides a range of adjustable attributes to meet diverse design requirements. Understanding these properties allows you to create unique visual effects tailored to your specific document style. Each property controls a different aspect of the reflection, from its position and angle to its transparency and color. See the following list for detailed descriptions of each property:
Which Properties Control the Reflection Appearance?
SchemeColor: Gets or sets the scheme color of the reflection effect. Tint reflections with any color for water or metallic surface effects.HorizontalSkewAngle: Gets or sets the horizontal skew angle in degrees. Create perspective effects where reflections recede into the distance.HorizontalScalingFactor: Gets or sets the horizontal scaling factor. Values below 100 compress; values above 100 stretch.DistanceFromText: Gets or sets the distance in points (1/72 inch). Smaller values create tight reflections; larger values simulate distant surfaces.DirectionAngle: Gets or sets the direction angle in degrees. Determines the apparent light source direction.FadeDirectionAngle: Gets or sets the fade direction in degrees. Control vertical fading for floor reflections or angled fading for water effects.EndPosition: Gets or sets the ending position. Determines where the reflection completely fades out.StartPosition: Gets or sets the starting position. Typically 0 to begin immediately below the text.EndingOpacity: Gets or sets the ending opacity. Lower values create subtle reflections that fade to transparency.VerticalScalingFactor: Gets or sets the vertical scaling factor. Negative values flip text; magnitude controls height.StartingOpacity: Gets or sets the starting opacity. Higher values create stronger initial reflections.Alignment: Gets or sets the alignment. Choose from various options to position the reflection relative to text.BlurRadius: Gets or sets the blur radius in points (1/72 inch). Higher values create softer, more diffused reflections.VerticalSkewAngle: Gets or sets the vertical skew angle in degrees. Use for creating slanted reflection effects.
How Do I Create a Custom Reflection Effect?
Custom reflection effects allow you to match your organization's branding or create unique visual styles. The following example demonstrates a gold-tinted reflection with specific positioning and opacity settings that create a professional appearance for certificates, awards, or premium document headers.
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")What Results Can I Achieve with Custom Properties?
The customized reflection example above produces a distinctive gold-tinted reflection that enhances the premium feel of the document. By adjusting the opacity gradient from 0% to 100%, the reflection creates a reverse-fade effect where the reflection becomes stronger as it moves away from the text. This technique works well for creating prominent headers or highlighting important announcements.

Best Practices for Reflection Effects
When implementing reflection effects in professional documents, consider these guidelines:
Subtlety Often Works Best: For business documents, use lower ending opacity values (20-40%) to create subtle reflections that enhance without distracting. Reserve stronger effects for marketing materials or presentations where visual impact is paramount.
Match Your Document Style: Align reflection properties with your document's overall design. Formal documents benefit from simple vertical reflections with minimal blur, while creative materials can utilize skewed angles and colored reflections for artistic effect.
Performance Considerations: Complex reflection effects with high blur radius values may increase file size and processing time. For documents with numerous reflected elements, test performance and adjust properties accordingly.
Accessibility Awareness: Remember that decorative effects like reflections should enhance rather than replace clear communication. Ensure your primary text remains highly readable, especially when creating documents that need to meet accessibility standards.
Frequently Asked Questions
How can I add a reflection effect to text in a C# Word document?
You can apply a reflection effect in a C# Word document using IronWord by creating a TextStyle and setting its TextEffect property to include a ReflectionEffect. Then, add this style to a Run containing TextContent and include it in your document.
What advantages do reflection effects offer in Word documents?
Reflection effects enhance the visual appeal of Word documents by adding depth and modern style. They are particularly useful for highlighting headers, titles, or important information by simulating the appearance of text on a glossy surface.
Why is the TextStyle object important when working with text effects in IronWord?
The TextStyle object allows you to manage and apply text formatting consistently across multiple text elements. This central configuration point ensures uniformity and makes global updates to styles more efficient in IronWord.
What does the default reflection effect look like in IronWord?
The default reflection effect in IronWord creates a subtle mirror image of the text below it, with an automatic opacity fade that complements various font sizes and styles, perfect for business documents and presentations.
Which properties can be configured for a reflection effect in IronWord?
You can configure several properties for a reflection effect in IronWord, including color, scaling, distancing, transparency, and skew angles. Each property allows you to tailor the reflection to your document's design needs.
How do I create a custom reflection effect in IronWord?
To create a custom reflection effect in IronWord, modify properties like SchemeColor, HorizontalScalingFactor, and VerticalSkewAngle within the ReflectionEffect configuration. This lets you achieve unique visual styles, such as a gold-tinted or angled reflection.
What are some best practices for using reflection effects in professional documents?
For professional documents, use subtle reflection effects with lower opacity and minimal blur. Ensure the style aligns with the document's overall design and keep performance in mind when using complex effects to avoid increasing file size and processing time.
Does customizing reflection effects in IronWord affect document performance?
Yes, highly complex reflection effects, especially those with high blur radius settings, can increase file size and processing time. It's recommended to test performance and adjust these properties if the document contains numerous reflected elements.
How can reflection effects meet accessibility standards in Word documents?
Reflection effects should be used to enhance rather than replace readable text. Ensure that the primary content stays clear and readable, and always check accessibility standards, especially when creating public-facing or compliance-required documents.

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.