Test in production without watermarks.
Works wherever you need it to.
Get 30 days of fully functional product.
Have it up and running in minutes.
Full access to our support engineering team during your product trial
Documents are increasingly becoming digital in the digital age. Documents in the business setting are often associated with Microsoft Word and its document-based Word file. Writing and editing Microsoft Word documents has become the foundation for passing information around in large organizations. However, manually creating and editing documents can be a painful process; to automate Word generation programmatically is no easy feat either, as many open-source libraries rely on Microsoft Office Word for dependency.
However, managing and creating Word documents doesn't need to be this difficult. IronWord is a C# Word Library that is not dependent on Microsoft Office Word and allows users to customize the entire document while also allowing document generation and creating document templates programmatically.
In today's tutorial, I'll briefly explain how to programmatically create a Microsoft Word Document using IronWord and provide brief examples.
IronWord is an exceptionally reliable and user-friendly C# Docx library that empowers developers to construct and modify Word documents using C#, all without needing traditional dependencies such as Microsoft Office or Word Interop. Additionally, it boasts extensive documentation and provides full support for .NET 8, 7, 6, Framework, Core, and Azure, making it universally compatible with most applications. This level of flexibility makes it an excellent choice for any application you may be dealing with.
For this example, we'll create a console app using Visual Studio and showcase how to create blank Word documents and manipulate them using the IronWord Library. Before we proceed with this next step, ensure that you have Visual Studio installed.
First, let's create a new console app.
Then, provide a project name and save the location, as shown below.
Finally, select the desired framework.
After creating the blank console app, we'll download IronWord through NuGet Package Manager.
Click on "Manage NuGet Packages," then search IronWord in the "Browse" tab as shown below.
Afterward, install it onto the newly created project.
Alternatively, you can type the following command in the command line to install IronWord.
Install-Package IronWord
Now that everything is set up and ready to go, let's move to an example of creating Word documents.
Please remember that IronWord requires a licensing key for operation. You can get a key as part of a free trial by visiting this link.
// Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
// Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
' Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
After receiving a trial key, set this variable in your project.
using IronWord;
using IronWord.Models;
class Program
{
static void Main()
{
// Create a textrun
Text textRun = new Text("Sample text");
Paragraph paragraph = new Paragraph();
paragraph.AddChild(textRun);
// Create a new Word document with the paragraph
WordDocument doc = new WordDocument(paragraph);
// Export docx
doc.SaveAs("document.docx");
}
}
using IronWord;
using IronWord.Models;
class Program
{
static void Main()
{
// Create a textrun
Text textRun = new Text("Sample text");
Paragraph paragraph = new Paragraph();
paragraph.AddChild(textRun);
// Create a new Word document with the paragraph
WordDocument doc = new WordDocument(paragraph);
// Export docx
doc.SaveAs("document.docx");
}
}
Imports IronWord
Imports IronWord.Models
Friend Class Program
Shared Sub Main()
' Create a textrun
Dim textRun As New Text("Sample text")
Dim paragraph As New Paragraph()
paragraph.AddChild(textRun)
' Create a new Word document with the paragraph
Dim doc As New WordDocument(paragraph)
' Export docx
doc.SaveAs("document.docx")
End Sub
End Class
Text
variable. This variable allows us to add text to the Word document.textRun
to a Paragraph
. This allows us to easily manipulate the text by distinguishing between the two.paragraph
parameter to a new WordDocument
class to create a new document object.In the previous example, we created a Word document with basic text. Let's do an example with more advanced features, such as customizing the text and adding text effects.
using IronWord;
using IronWord.Models;
class Program
{
static void Main()
{
// Ensure to set up the license key
IronWord.License.LicenseKey = "YOUR-KEY";
// Load an existing docx
WordDocument doc = new WordDocument("document.docx");
// Create sample texts with styles
Text introText = new Text("This is an example paragraph with italic and bold styling.");
TextStyle italicStyle = new TextStyle()
{
IsItalic = true
};
Text italicText = new Text("Italic example sentence.");
italicText.Style = italicStyle;
TextStyle boldStyle = new TextStyle()
{
IsBold = true
};
Text boldText = new Text("Bold example sentence.");
boldText.Style = boldStyle;
// Create a paragraph and add texts
Paragraph paragraph = new Paragraph();
paragraph.AddText(introText);
paragraph.AddText(italicText);
paragraph.AddText(boldText);
// Add paragraph to the document
doc.AddParagraph(paragraph);
// Export the document
doc.SaveAs("save_document.docx");
}
}
using IronWord;
using IronWord.Models;
class Program
{
static void Main()
{
// Ensure to set up the license key
IronWord.License.LicenseKey = "YOUR-KEY";
// Load an existing docx
WordDocument doc = new WordDocument("document.docx");
// Create sample texts with styles
Text introText = new Text("This is an example paragraph with italic and bold styling.");
TextStyle italicStyle = new TextStyle()
{
IsItalic = true
};
Text italicText = new Text("Italic example sentence.");
italicText.Style = italicStyle;
TextStyle boldStyle = new TextStyle()
{
IsBold = true
};
Text boldText = new Text("Bold example sentence.");
boldText.Style = boldStyle;
// Create a paragraph and add texts
Paragraph paragraph = new Paragraph();
paragraph.AddText(introText);
paragraph.AddText(italicText);
paragraph.AddText(boldText);
// Add paragraph to the document
doc.AddParagraph(paragraph);
// Export the document
doc.SaveAs("save_document.docx");
}
}
Imports IronWord
Imports IronWord.Models
Friend Class Program
Shared Sub Main()
' Ensure to set up the license key
IronWord.License.LicenseKey = "YOUR-KEY"
' Load an existing docx
Dim doc As New WordDocument("document.docx")
' Create sample texts with styles
Dim introText As New Text("This is an example paragraph with italic and bold styling.")
Dim italicStyle As New TextStyle() With {.IsItalic = True}
Dim italicText As New Text("Italic example sentence.")
italicText.Style = italicStyle
Dim boldStyle As New TextStyle() With {.IsBold = True}
Dim boldText As New Text("Bold example sentence.")
boldText.Style = boldStyle
' Create a paragraph and add texts
Dim paragraph As New Paragraph()
paragraph.AddText(introText)
paragraph.AddText(italicText)
paragraph.AddText(boldText)
' Add paragraph to the document
doc.AddParagraph(paragraph)
' Export the document
doc.SaveAs("save_document.docx")
End Sub
End Class
Text
object and add the sample text for the document.TextStyle
object and assign the property IsItalic
as true
, indicating the text should be in italics.boldText
variable, assigning true
to the property IsBold
.TextStyle
variables to their respective Text
variables.Paragraph
variable and call the AddText
method to add the italic and bold text.AddParagraph
method.The example above showcases the fonts and styles developers can use using IronWord. Aside from italics and bold text effects, IronWord also offers other features to ensure developers have all the options to create unique Word documents in various scenarios.
Our demonstrations showed how easy it is to use the IronWord library to create Word documents in C# programmatically. The library's flexibility and scalability make it a valuable tool for developers in real-life scenarios, such as customizing text, font, and style in a Word document. Understanding how Word integrates with other applications provides developers additional solutions to their challenges.
IronWord provides a free trial license.
IronWord is a C# Word Library that allows developers to create and manipulate Word documents programmatically without relying on Microsoft Office or Word Interop.
To set up IronWord in Visual Studio, create a new console app, then use the NuGet Package Manager to search for and install IronWord in your project.
Yes, IronWord is compatible with .NET 8, 7, 6, Framework, Core, and Azure, making it versatile for various applications.
Yes, IronWord requires a license key for operation. A free trial license can be obtained from the IronWord website.
You can create a Word document by initializing a WordDocument object with the desired content and using the SaveAs method to export it as a .docx file.
IronWord provides options for text styling, including italics and bold, through the TextStyle object, which can be applied to text elements in your document.
Yes, paragraphs can be added by creating Paragraph objects and adding text to them, which can then be included in the Word document.
IronWord does not depend on Microsoft Office, allowing for greater flexibility and easier integration across different platforms without requiring Office installations.
You can install IronWord using the command line with the following command: Install-Package IronWord.
The first step is to import the IronWord library and its models into your C# project, allowing you to access its functionalities.