USING IRONWORD

How to Align Text in Word Using C#

Text alignment is crucial when displaying text in a GUI application like a Microsoft Word document. Indeed, there are many libraries that can align text. Still, the IronWord NuGet package emerges as a powerful tool to streamline this process, providing a simple and effective way to manage format or alignment in your C# applications. Developers often encounter the need to align text in various ways, whether for reports or console applications, in all these places IronWord NuGet can be readily used. Now let's dig deep into the IronWord NuGet package and how to align text or paragraphs using this package.

How to Align Text in Microsoft Word Document Using IronWord NuGet

  1. Create a new project in Microsoft Visual Studio.
  2. Install IronWord through the NuGet package manager.
  3. Generate a Word document with Text alignment.
  4. Explore the Text alignment property in IronWord.

What is IronWord?

IronWord is a C# NuGet library from Iron Software developed to facilitate the creation, manipulation, and management of Microsoft Word files programmatically. It allows developers to automate the process of generating Word documents with aligned text, making it easier to dynamically generate reports, invoices, letters, and other types of documents within their applications.

Key Features of IronWord

1. C# Align Text in Word

IronWord supports multiple alignment types, including left, right, center, and justified text alignment. This versatility allows developers to choose the most appropriate format for their specific requirements.

2. Column Alignment

The package simplifies the process of aligning text in columns, making it particularly useful for generating reports or displaying data in a structured format.

3. Customizable Formatting

IronWord allows developers to customize the width of the text fields, ensuring that the aligned text fits neatly within specified boundaries.

4. Text Manipulation

You can easily insert, replace, or delete text within a Word document.

5. Formatting

The library supports various formatting options, including font name styles, font sizes, colors, and alignment.

6. Tables and Images

IronWord allows you to insert and manipulate tables and images within your documents.

7. Compatibility

It works seamlessly with different versions of Microsoft Word, ensuring compatibility and ease of use.

Use Cases

  • Report Generation: Automatically generate detailed reports with dynamic data and text alignment.
  • Invoice Creation: Create professional invoices by filling in customer and transaction details.
  • Contract Management: Automate the creation of contracts with personalized information.
  • Letters and Notices: Generate personalized letters and notices for clients or employees.

IronWord simplifies working with Word documents in .NET applications, making it a valuable tool for developers who want to automate document generation and management tasks.

Prerequisites

A quick reminder to make sure you have the following before we get started:

  • Visual Studio is installed on your machine.
  • The latest .NET Framework is installed.

Step 1: Create a New Project in Microsoft Visual Studio

Now, let us begin by creating a new Visual Studio project.

Select the Console application template on the screen below.

How to Align Text in Word Using C#: Figure 2 - Select Console App

Provide the project name and location.

How to Align Text in Word Using C#: Figure 3 - Configuration

Select the .NET Version, preferably the latest one with support, and click Create.

How to Align Text in Word Using C#: Figure 4 - Target Framework

Step 2: Install IronWord Using NuGet Package Manager

Install the IronWord NuGet package from the NuGet package manager as below in Visual Studio.

How to Align Text in Word Using C#: Figure 5 - Search for IronWord from NuGet Package Manager

Alternatively, please install it using CLI directly using the command below.

dotnet add package IronWord --version 2024.9.1

Step 3: Generate a Word Document with Text Alignment

The below code example shows how to generate a Word document with center-aligned text.

using IronWord;
using IronWord.Models;

class Program
{
    static void Main()
    {
        // Set your license key for IronWord
        License.LicenseKey = "your key";

        // Create a new document
        var document = new WordDocument();

        // Create a paragraph and add text
        Paragraph paragraph = new Paragraph();
        Text text = new Text() { Text = "IronWord, From IronSoftware" };
        paragraph.AddText(text); // Add text to the paragraph

        // Set text alignment to center aligned
        paragraph.Alignment = IronWord.Models.Enums.TextAlignment.Center;

        // Add the first paragraph to the document
        document.AddParagraph(paragraph);

        // Save the document with the specified filename
        document.SaveAs("output.docx");
    }
}
using IronWord;
using IronWord.Models;

class Program
{
    static void Main()
    {
        // Set your license key for IronWord
        License.LicenseKey = "your key";

        // Create a new document
        var document = new WordDocument();

        // Create a paragraph and add text
        Paragraph paragraph = new Paragraph();
        Text text = new Text() { Text = "IronWord, From IronSoftware" };
        paragraph.AddText(text); // Add text to the paragraph

        // Set text alignment to center aligned
        paragraph.Alignment = IronWord.Models.Enums.TextAlignment.Center;

        // Add the first paragraph to the document
        document.AddParagraph(paragraph);

        // Save the document with the specified filename
        document.SaveAs("output.docx");
    }
}
Imports IronWord
Imports IronWord.Models

Friend Class Program
	Shared Sub Main()
		' Set your license key for IronWord
		License.LicenseKey = "your key"

		' Create a new document
		Dim document = New WordDocument()

		' Create a paragraph and add text
		Dim paragraph As New Paragraph()
		Dim text As New Text() With {.Text = "IronWord, From IronSoftware"}
		paragraph.AddText(text) ' Add text to the paragraph

		' Set text alignment to center aligned
		paragraph.Alignment = IronWord.Models.Enums.TextAlignment.Center

		' Add the first paragraph to the document
		document.AddParagraph(paragraph)

		' Save the document with the specified filename
		document.SaveAs("output.docx")
	End Sub
End Class
$vbLabelText   $csharpLabel

Code Explanation

  1. Initialize a new WordDocument instance.
  2. Create a text object with the desired content.
  3. Add the text to a paragraph.
  4. Align the paragraph using IronWord.Models.Enums.TextAlignment.Center.
  5. Add the paragraph to the WordDocument instance and save the document to output.docx.

Output

How to Align Text in Word Using C#: Figure 7 - Output

Step 4: Explore Text Alignment Property in IronWord

Now let us try different options.

using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;

class Program
{
    static void Main()
    {
        // Set your license key for IronWord
        License.LicenseKey = "your key";

        // Create a new DOCX document
        var doc = new WordDocument();

        // Sample text for alignment
        Text text = new Text() { Text = "IronWord, From IronSoftware" };

        // Add paragraphs with different alignments
        AddPara(doc, text, TextAlignment.Center);
        AddPara(doc, text, TextAlignment.Left);
        AddPara(doc, text, TextAlignment.Right);
        AddPara(doc, text, TextAlignment.Justified);

        // Save the document with all alignment options
        doc.SaveAs("outputAllOptions.docx");
    }

    // Method to add a paragraph to the document with specified alignment
    private static void AddPara(WordDocument doc, Text text, TextAlignment alignment)
    {
        Paragraph paragraph = new Paragraph();
        paragraph.AddText(text);
        paragraph.Alignment = alignment;
        doc.AddParagraph(paragraph);
    }
}
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;

class Program
{
    static void Main()
    {
        // Set your license key for IronWord
        License.LicenseKey = "your key";

        // Create a new DOCX document
        var doc = new WordDocument();

        // Sample text for alignment
        Text text = new Text() { Text = "IronWord, From IronSoftware" };

        // Add paragraphs with different alignments
        AddPara(doc, text, TextAlignment.Center);
        AddPara(doc, text, TextAlignment.Left);
        AddPara(doc, text, TextAlignment.Right);
        AddPara(doc, text, TextAlignment.Justified);

        // Save the document with all alignment options
        doc.SaveAs("outputAllOptions.docx");
    }

    // Method to add a paragraph to the document with specified alignment
    private static void AddPara(WordDocument doc, Text text, TextAlignment alignment)
    {
        Paragraph paragraph = new Paragraph();
        paragraph.AddText(text);
        paragraph.Alignment = alignment;
        doc.AddParagraph(paragraph);
    }
}
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums

Friend Class Program
	Shared Sub Main()
		' Set your license key for IronWord
		License.LicenseKey = "your key"

		' Create a new DOCX document
		Dim doc = New WordDocument()

		' Sample text for alignment
		Dim text As New Text() With {.Text = "IronWord, From IronSoftware"}

		' Add paragraphs with different alignments
		AddPara(doc, text, TextAlignment.Center)
		AddPara(doc, text, TextAlignment.Left)
		AddPara(doc, text, TextAlignment.Right)
		AddPara(doc, text, TextAlignment.Justified)

		' Save the document with all alignment options
		doc.SaveAs("outputAllOptions.docx")
	End Sub

	' Method to add a paragraph to the document with specified alignment
	Private Shared Sub AddPara(ByVal doc As WordDocument, ByVal text As Text, ByVal alignment As TextAlignment)
		Dim paragraph As New Paragraph()
		paragraph.AddText(text)
		paragraph.Alignment = alignment
		doc.AddParagraph(paragraph)
	End Sub
End Class
$vbLabelText   $csharpLabel

Code Explanation

  1. Initialize a new WordDocument instance.
  2. Create a text object with the desired content.
  3. For each alignment option (center, left, right, justified), add the text to a paragraph and set the alignment.
  4. Add the paragraph to the WordDocument instance.
  5. Save the document with all alignment options to outputAllOptions.docx.

Output

How to Align Text in Word Using C#: Figure 8 - Alignment Output

IronWord Licensing

IronWord library is one of the products of Iron Suite from Iron Software. It needs a license to run. A user can download a trial license using their email ID from the trial license page. Once the data is entered, the license is delivered to the email ID of the user. This license needs to be placed at the beginning of the user code before using the IronWord library, as below.

License.LicenseKey = "your Key Here";
License.LicenseKey = "your Key Here";
License.LicenseKey = "your Key Here"
$vbLabelText   $csharpLabel

Conclusion

The IronWord NuGet package simplifies the process of working with Word documents in .NET applications. Its intuitive API allows developers to easily manipulate text alignment and other document elements. Whether you need to align text to the left, center, or right, or justify it, IronWord provides the tools you need to create professional and well-formatted documents.

Frequently Asked Questions

What is this C# NuGet library used for Word files?

IronWord is a C# NuGet library developed by Iron Software to facilitate the creation, manipulation, and management of Microsoft Word files programmatically. It enables developers to automate the process of generating Word documents with aligned text.

How can I install this Word handling library in my project?

You can install IronWord through the NuGet package manager in Visual Studio or by using the CLI command: dotnet add package IronWord --version 2024.9.1.

What text alignment options does this library support?

IronWord supports multiple text alignment options, including left, right, center, and justified alignment.

Can this library handle text alignment in columns?

Yes, IronWord simplifies the process of aligning text in columns, which is useful for generating structured data reports.

What are some use cases for this Word processing tool?

IronWord can be used for various applications, such as report generation, invoice creation, contract management, and generating personalized letters and notices.

Does this library support adding tables and images to Word documents?

Yes, IronWord allows you to insert and manipulate tables and images within your Word documents.

Is this library compatible with different versions of Microsoft Word?

IronWord works seamlessly with different versions of Microsoft Word, ensuring compatibility and ease of use.

What prerequisites are needed to use this Word library in a project?

Before using IronWord, ensure that Visual Studio and the latest .NET Framework are installed on your machine.

How do I set the license key for this library?

You can set the license key for IronWord in your code by using: License.LicenseKey = "your Key Here".

What are the key features of this Word processing library?

Key features of IronWord include support for multiple text alignments, customizable formatting, text manipulation, and compatibility with different Word versions.

Regan Pun
Software Engineer
Regan graduated from the University of Reading, with a BA in Electronic Engineering. Before joining Iron Software, his previous job roles had him laser-focused on single tasks; and what he most enjoys at Iron Software is the spectrum of work he gets to undertake, whether it’s adding value to sales, technical support, product development or marketing. He enjoys understanding the way developers are using the Iron Software library, and using that knowledge to continually improve documentation and develop the products.
< PREVIOUS
VS 2022 Programmatically Create New Word Documents (Tutorial)
NEXT >
How to Generate a Word Document Using a Word Template in C#

Ready to get started? Version: 2025.6 just released

View Licenses >