USING IRONWORD

How to Align Text in Word Using C#

Published December 15, 2024
Share:

Text alignment is crucial when displaying text in a GUI application like a Microsoft Word document. Indeed, out 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 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.

Broken image Add from Pixabay, select from your files or drag and drop an image here.

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.

How to Align Text in Word Using C#: Figure 6 - Copy the command and paste it in the NuGet Console Application

dotnet add package IronWord --version 2024.9.1
dotnet add package IronWord --version 2024.9.1
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronWord --version 2024.9.1
VB   C#

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()
    {
        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 property
        // Set text alignment to left aligned or center aligned
        paragraph.Alignment = IronWord.Models.Enums.TextAlignment.Center;
        // Add the first paragraph to the document
        document.AddParagraph(paragraph);
        // Save the document
        document.SaveAs("output.docx");
    }
}
using IronWord;
using IronWord.Models;
class Program
{
    static void Main()
    {
        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 property
        // Set text alignment to left aligned or center aligned
        paragraph.Alignment = IronWord.Models.Enums.TextAlignment.Center;
        // Add the first paragraph to the document
        document.AddParagraph(paragraph);
        // Save the document
        document.SaveAs("output.docx");
    }
}
Imports IronWord
Imports IronWord.Models
Friend Class Program
	Shared Sub Main()
		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 property
		' Set text alignment to left aligned or center aligned
		paragraph.Alignment = IronWord.Models.Enums.TextAlignment.Center
		' Add the first paragraph to the document
		document.AddParagraph(paragraph)
		' Save the document
		document.SaveAs("output.docx")
	End Sub
End Class
VB   C#

Code Explanation

  1. Initialize new WordDocument instance.
  2. Create a text with style if required.
  3. Add the text to a paragraph.
  4. Align the paragraph with 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()
    {
        License.LicenseKey = "your key";
        // Create a new DOCX document
        var doc = new WordDocument();
        Text text = new Text() { Text = "IronWord, From IronSoftware" };
        // Create a paragraph and add text left aligned
        AddPara(doc, text, TextAlignment.Center);
        // Create a paragraph and add text left aligned
        AddPara(doc, text, TextAlignment.Left);
        // Create a paragraph and add text right aligned
        AddPara(doc, text, TextAlignment.Right);
        // Create a paragraph and add text justified aligned
        AddPara(doc, text, TextAlignment.Justified);
        // Save the document
        doc.SaveAs("outputAllOptions.docx");
    }
    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()
    {
        License.LicenseKey = "your key";
        // Create a new DOCX document
        var doc = new WordDocument();
        Text text = new Text() { Text = "IronWord, From IronSoftware" };
        // Create a paragraph and add text left aligned
        AddPara(doc, text, TextAlignment.Center);
        // Create a paragraph and add text left aligned
        AddPara(doc, text, TextAlignment.Left);
        // Create a paragraph and add text right aligned
        AddPara(doc, text, TextAlignment.Right);
        // Create a paragraph and add text justified aligned
        AddPara(doc, text, TextAlignment.Justified);
        // Save the document
        doc.SaveAs("outputAllOptions.docx");
    }
    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()
		License.LicenseKey = "your key"
		' Create a new DOCX document
		Dim doc = New WordDocument()
		Dim text As New Text() With {.Text = "IronWord, From IronSoftware"}
		' Create a paragraph and add text left aligned
		AddPara(doc, text, TextAlignment.Center)
		' Create a paragraph and add text left aligned
		AddPara(doc, text, TextAlignment.Left)
		' Create a paragraph and add text right aligned
		AddPara(doc, text, TextAlignment.Right)
		' Create a paragraph and add text justified aligned
		AddPara(doc, text, TextAlignment.Justified)
		' Save the document
		doc.SaveAs("outputAllOptions.docx")
	End Sub
	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
VB   C#

Code Explanation

  1. Initialize new WordDocument instance.
  2. Create a text with style if required.
  3. Add the text to a paragraph. Align the paragraph with IronWord.Models.Enums.TextAlignment.Center.
  4. Add another text to a paragraph. Align the paragraph with IronWord.Models.Enums.TextAlignment.Right.
  5. Add the text to a paragraph. Align the paragraph with IronWord.Models.Enums.TextAlignment.Left.
  6. Add the text to a paragraph. Align the paragraph with IronWord.Models.Enums.TextAlignment.Justified.
  7. Add the paragraph to the WordDocument instance and save the document to output.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"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'License.LicenseKey = "your Key Here"
VB   C#

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.

< 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: 2024.12 just released

Free NuGet Download Total downloads: 8,594 View Licenses >