Working with Content Controls

What is Content Control?

Content controls are individual controls that you can add and customize to use in templates, forms, and documents. For example, many online forms are designed with a drop-down list control that provides a restricted set of choices.

NOTE

You can use content controls only in documents that are saved in the Open XML Format and cannot be used in the Word 97-2003 document (.doc) format.

Content controls can be categorized based on its occurrence in a document as follows,

  • InlineContentControl: Among inline content inside, as a child of a paragraph.
  • BlockContentControl: Among paragraphs and tables, as a child of a Body, HeaderFooter, Comment, Footnote, or a Shape node.

Block Content Control

You can add content control to a text body of the Word document using block content control. You can add text, tables, pictures, or other items into the block content control. Refer to the following code.

// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds new section to the document

IWSection section = document.AddSection();

WTextBody textBody = section.Body;

// Adds block content control into Word document

BlockContentControl blockContentControl = textBody.AddBlockContentControl(ContentControlType.RichText) as BlockContentControl;

// Adds new paragraph in the block content control

WParagraph paragraph = blockContentControl.TextBody.AddParagraph() as WParagraph;

// Adds new text to the paragraph

paragraph.AppendText("Block content control");

// Adds new table to the block content control

WTable table = blockContentControl.TextBody.AddTable() as WTable;

// Specifies the total number of rows and columns

table.ResetCells(2, 3);

// Adds new paragraph to the block content control.

paragraph = blockContentControl.TextBody.AddParagraph() as WParagraph;

// Adds image to the paragraph

paragraph.AppendPicture(Image.FromFile("Image.png"));

// Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx);

document.Close();
' Creates a new Word document 

Dim document As WordDocument = New WordDocument

' Adds new section to the document

Dim section As IWSection = document.AddSection

Dim textBody As WTextBody = section.Body

' Adds block content control into Word document

Dim blockContentControl As BlockContentControl = CType(textBody.AddBlockContentControl(ContentControlType.RichText), BlockContentControl)

' Adds new paragraph in the block content control

Dim paragraph As WParagraph = CType(blockContentControl.TextBody.AddParagraph, WParagraph)

' Adds new text to the paragraph

paragraph.AppendText("Block content control")

' Adds new table to the block content control

Dim table As WTable = CType(blockContentControl.TextBody.AddTable, WTable)

' Specifies the total number of rows and columns

table.ResetCells(2, 3)

' Adds new paragraph to the block content control.

paragraph = CType(blockContentControl.TextBody.AddParagraph, WParagraph)

' Adds image to the paragraph

paragraph.AppendPicture(Image.FromFile("Image.png"))

' Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx)

document.Close()
// Creates a new Word document

WordDocument document = new WordDocument();

// Adds new section to the document

IWSection section = document.AddSection();

WTextBody textBody = section.Body;
	
// Adds block content control into Word document

BlockContentControl blockContentControl = textBody.AddBlockContentControl(ContentControlType.RichText) as BlockContentControl;
	
// Adds new paragraph in the block content control

WParagraph paragraph = blockContentControl.TextBody.AddParagraph() as WParagraph;
	
// Adds new text to the paragraph

paragraph.AppendText("Block content control");
	
// Adds new table to the block content control

WTable table = blockContentControl.TextBody.AddTable() as WTable;
	
// Specifies the total number of rows and columns

table.ResetCells(2, 3);
	
// Adds new paragraph to the block content control.

paragraph = blockContentControl.TextBody.AddParagraph() as WParagraph;
	
// Adds image to the paragraph

Assembly assembly = typeof(App).GetTypeInfo().Assembly;

Stream pictureStream = assembly.GetManifestResourceStream("Sample.Assets.Image.png");

paragraph.AppendPicture(pictureStream);
	
// Saves and closes the Word document instance

MemoryStream stream = new MemoryStream();

await document.SaveAsync(stream, FormatType.Docx);

Save(stream, "Result.docx");

document.Close();

// Saves the Word document

async void Save(MemoryStream streams, string filename)

{

	streams.Position = 0;

	StorageFile stFile;

	if (!(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")))

	{

		FileSavePicker savePicker = new FileSavePicker();

		savePicker.DefaultFileExtension = ".docx";

		savePicker.SuggestedFileName = filename;

		savePicker.FileTypeChoices.Add("Word Documents", new List<string>() { ".docx" });

		stFile = await savePicker.PickSaveFileAsync();

	}

	else

	{

		StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;

		stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

	}

	if (stFile != null)

	{

		using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))

		{

			// Write compressed data from memory to file

			using (Stream outstream = zipStream.AsStreamForWrite())

			{

				byte[] buffer = streams.ToArray();

				outstream.Write(buffer, 0, buffer.Length);

				outstream.Flush();

			}

		}

	}

	// Launch the saved Word file

	await Windows.System.Launcher.LaunchFileAsync(stFile);

}
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds new section to the document

IWSection section = document.AddSection();

WTextBody textBody = section.Body;

// Adds block content control into Word document

BlockContentControl blockContentControl = textBody.AddBlockContentControl(ContentControlType.RichText) as BlockContentControl;

// Adds new paragraph in the block content control

WParagraph paragraph = blockContentControl.TextBody.AddParagraph() as WParagraph;

// Adds new text to the paragraph

paragraph.AppendText("Block content control");

// Adds new table to the block content control

WTable table = blockContentControl.TextBody.AddTable() as WTable;

// Specifies the total number of rows and columns

table.ResetCells(2, 3);

// Adds new paragraph to the block content control.

paragraph = blockContentControl.TextBody.AddParagraph() as WParagraph;

// Gets the image stream.

FileStream imageStream = new FileStream(@"D:\Image.png", FileMode.Open, FileAccess.Read);

// Adds image to the paragraph

paragraph.AppendPicture(imageStream);

// Creates memory stream.

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

document.Close();
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds new section to the document

IWSection section = document.AddSection();

WTextBody textBody = section.Body;

// Adds block content control into Word document

BlockContentControl blockContentControl = textBody.AddBlockContentControl(ContentControlType.RichText) as BlockContentControl;

// Adds new paragraph in the block content control

WParagraph paragraph = blockContentControl.TextBody.AddParagraph() as WParagraph;

// Adds new text to the paragraph

paragraph.AppendText("Block content control");

// Adds new table to the block content control

WTable table = blockContentControl.TextBody.AddTable() as WTable;

// Specifies the total number of rows and columns

table.ResetCells(2, 3);

// Adds new paragraph to the block content control.

paragraph = blockContentControl.TextBody.AddParagraph() as WParagraph;

// Adds image to the paragraph

Stream imageStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Image.png");

// Adds image from stream.

paragraph.AppendPicture(imageStream);

// Creates memory stream

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

//Save the stream as a file in the device and invoke it for viewing

Xamarin.Forms.DependencyService.Get<ISave>().SaveAndView("Result.docx", "application/msword", outputStream);

document.Close();

Inline Content Control

You can add content control as a child to a paragraph using the inline content control. You can add text, pictures, fields or other paragraph items into the inline content control. Refer to the following code.

// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends inline content control to the paragraph

InlineContentControl inlineContentControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Inline content control ";

// Adds new text to the inline content control

inlineContentControl.ParagraphItems.Add(textRange);

// Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx);

document.Close();
' Creates a new Word document 

Dim document As WordDocument = New WordDocument

' Adds one section and one paragraph to the document

document.EnsureMinimal()

' Adds new paragraph to the section

Dim paragraph As WParagraph = document.LastParagraph

' Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ")

' Appends inline content control to the paragraph

Dim inlineContentControl As InlineContentControl = CType(paragraph.AppendInlineContentControl(ContentControlType.RichText), InlineContentControl)

Dim textRange As WTextRange = New WTextRange(document)

textRange.Text = "Inline content control "

' Adds new text to the inline content control

inlineContentControl.ParagraphItems.Add(textRange)

' Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx)

document.Close()
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends inline content control to the paragraph

InlineContentControl inlineContentControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Inline content control ";

// Adds new text to the inline content control

inlineContentControl.ParagraphItems.Add(textRange);

// Saves and closes the Word document instance

MemoryStream stream = new MemoryStream();

await document.SaveAsync(stream, FormatType.Docx);

//Saves the stream as Word file in local machine

Save(stream, "Result.docx");

document.Close();

// Saves the Word document

async void Save(MemoryStream streams, string filename)
{

	streams.Position = 0;

	StorageFile stFile;

	if (!(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")))

	{

		FileSavePicker savePicker = new FileSavePicker();

		savePicker.DefaultFileExtension = ".docx";

		savePicker.SuggestedFileName = filename;

		savePicker.FileTypeChoices.Add("Word Documents", new List<string>() { ".docx" });

		stFile = await savePicker.PickSaveFileAsync();

	}

	else

	{

		StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;

		stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

	}

	if (stFile != null)

	{

		using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))

		{

			// Write compressed data from memory to file

			using (Stream outstream = zipStream.AsStreamForWrite())

			{

				byte[] buffer = streams.ToArray();

				outstream.Write(buffer, 0, buffer.Length);

				outstream.Flush();

			}

		}

	}

	// Launch the saved Word file

	await Windows.System.Launcher.LaunchFileAsync(stFile);

}
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends inline content control to the paragraph

InlineContentControl inlineContentControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Inline content control ";

// Adds new text to the inline content control

inlineContentControl.ParagraphItems.Add(textRange);

// Creates memory stream.

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

document.Close();
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends inline content control to the paragraph

InlineContentControl inlineContentControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Inline content control ";

// Adds new text to the inline content control

inlineContentControl.ParagraphItems.Add(textRange);

// Creates memory stream

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

//Save the stream as a file in the device and invoke it for viewing

Xamarin.Forms.DependencyService.Get<ISave>().SaveAndView("Result.docx", "application/msword", outputStream);

document.Close();

NOTE

Currently, DocIO does not support RowContentControl and CellContentControl.

Common properties of Content Control

You can set formatting options for the content control in the Word document. The following are the common properties of a content control.

Title

The title of the content control.

Tag

The tag value to identify the content control.

Appearance

This property allows you to define the appearance of the content controls. The appearance can be any one of the following:

  • BoundingBox: Displays the contents of content control within a box.
  • Tags: Displays the contents of content control within tags.
  • Hidden: Displays the contents of content control without any box or tags.

Color

Defines the color of the content control.

Temporary

This property defines whether to remove a content control from the Word document when you edit the contents of the content control.

Lock Contents

Locking the contents of the content control. It restricts to modify the contents of the content control.

Lock Content Control

It restricts to remove or delete the content control.

Example – Content Control Common properties

The following code sample illustrates the content control properties usage.

// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends rich text content control to the paragraph

IInlineContentControl contentControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Rich text content control.";

// Adds new text to the rich text content control

contentControl.ParagraphItems.Add(textRange);

// Sets tag appearance for the content control.

contentControl.ContentControlProperties.Appearance = ContentControlAppearance.Tags;

// Sets a tag property to identify the content control.

contentControl.ContentControlProperties.Tag = "Rich Text";

// Sets a title for the content control.

contentControl.ContentControlProperties.Title = "Text";

// Sets the color for the content control.

contentControl.ContentControlProperties.Color = Color.Magenta;

// Gets the type of content control.

ContentControlType controlType = contentControl.ContentControlProperties.Type;

// Enables content control lock.

contentControl.ContentControlProperties.LockContentControl = true;

// Protects the contents of content control.

contentControl.ContentControlProperties.LockContents = true;

// Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx);

document.Close();
' Creates a new Word document 

Dim document As WordDocument = New WordDocument

' Adds one section and one paragraph to the document

document.EnsureMinimal()

' Adds new paragraph to the section

Dim paragraph As WParagraph = document.LastParagraph

' Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ")

' Appends rich text content control to the paragraph

Dim contentControl As IInlineContentControl = CType(paragraph.AppendInlineContentControl(ContentControlType.RichText), InlineContentControl)

Dim textRange As WTextRange = New WTextRange(document)

textRange.Text = "Rich text content control."

' Adds new text to the rich text content control

contentControl.ParagraphItems.Add(textRange)

' Sets tag appearance for the content control.

contentControl.ContentControlProperties.Appearance = ContentControlAppearance.Tags

' Sets a tag property to identify the content control.

contentControl.ContentControlProperties.Tag = "Rich Text"

' Sets a title for the content control.

contentControl.ContentControlProperties.Title = "Text"

' Sets the color for the content control.

contentControl.ContentControlProperties.Color = Color.Magenta

' Gets the type of content control.

Dim controlType As ContentControlType = contentControl.ContentControlProperties.Type

' Enables content control lock.

contentControl.ContentControlProperties.LockContentControl = True

' Protects the contents of content control.

contentControl.ContentControlProperties.LockContents = True

' Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx)

document.Close()
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends rich text content control to the paragraph

IInlineContentControl contentControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Rich text content control.";

// Adds new text to the rich text content control

contentControl.ParagraphItems.Add(textRange);

// Sets tag appearance for the content control.

contentControl.ContentControlProperties.Appearance = ContentControlAppearance.Tags;

// Sets a tag property to identify the content control.

contentControl.ContentControlProperties.Tag = "Rich Text";

// Sets a title for the content control.

contentControl.ContentControlProperties.Title = "Text";

// Sets the color for the content control.

contentControl.ContentControlProperties.Color = Color.Magenta;

// Gets the type of content control.

ContentControlType controlType = contentControl.ContentControlProperties.Type;

// Enables content control lock.

contentControl.ContentControlProperties.LockContentControl = true;

// Protects the contents of content control.

contentControl.ContentControlProperties.LockContents = true;

// Saves the Word file to MemoryStream

MemoryStream stream = new MemoryStream();

await document.SaveAsync(stream, FormatType.Docx);

//Saves the stream as Word file in local machine

Save(stream, "Sample.docx");

document.Close();

// Saves the Word document

async void Save(MemoryStream streams, string filename)

{

	streams.Position = 0;

	StorageFile stFile;

	if (!(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")))

	{

		FileSavePicker savePicker = new FileSavePicker();

		savePicker.DefaultFileExtension = ".docx";

		savePicker.SuggestedFileName = filename;

		savePicker.FileTypeChoices.Add("Word Documents", new List<string>() { ".docx" });

		stFile = await savePicker.PickSaveFileAsync();

	}

	else

	{

		StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;

		stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

	}

	if (stFile != null)

	{

		using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))

		{

			// Write compressed data from memory to file

			using (Stream outstream = zipStream.AsStreamForWrite())

			{

				byte[] buffer = streams.ToArray();

				outstream.Write(buffer, 0, buffer.Length);

				outstream.Flush();

			}

		}

	}

	// Launch the saved Word file

	await Windows.System.Launcher.LaunchFileAsync(stFile);

}
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends rich text content control to the paragraph

IInlineContentControl contentControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Rich text content control.";

// Adds new text to the rich text content control

contentControl.ParagraphItems.Add(textRange);

// Sets tag appearance for the content control.

contentControl.ContentControlProperties.Appearance = ContentControlAppearance.Tags;

// Sets a tag property to identify the content control.

contentControl.ContentControlProperties.Tag = "Rich Text";

// Sets a title for the content control.

contentControl.ContentControlProperties.Title = "Text";

// Sets the color for the content control.

contentControl.ContentControlProperties.Color = Syncfusion.Drawing.Color.Magenta;

// Gets the type of content control.

ContentControlType controlType = contentControl.ContentControlProperties.Type;

// Enables content control lock.

contentControl.ContentControlProperties.LockContentControl = true;

// Protects the contents of content control.

contentControl.ContentControlProperties.LockContents = true;

// Creates memory stream.

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

document.Close();
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends rich text content control to the paragraph

IInlineContentControl contentControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Rich text content control.";

// Adds new text to the rich text content control

contentControl.ParagraphItems.Add(textRange);

// Sets tag appearance for the content control.

contentControl.ContentControlProperties.Appearance = ContentControlAppearance.Tags;

// Sets a tag property to identify the content control.

contentControl.ContentControlProperties.Tag = "Rich Text";

// Sets a title for the content control.

contentControl.ContentControlProperties.Title = "Text";

// Sets the color for the content control.

contentControl.ContentControlProperties.Color = Syncfusion.Drawing.Color.Magenta;

// Gets the type of content control.

ContentControlType controlType = contentControl.ContentControlProperties.Type;

// Enables content control lock.

contentControl.ContentControlProperties.LockContentControl = true;

// Protects the contents of content control.

contentControl.ContentControlProperties.LockContents = true;

// Creates memory stream

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

//Save the stream as a file in the device and invoke it for viewing

Xamarin.Forms.DependencyService.Get<ISave>().SaveAndView("Result.docx", "application/msword", outputStream);

document.Close();

Why Content Control?

The content controls have the following three major use cases:

  • Protection
  • Form Filling
  • Data Binding with Content Controls (XML Mapping)

Protection

Content controls provides options to prevent users from editing or deleting parts of a Word document contents. This is useful if you have information in a Word document or template that you should be able to read but not edit, or if you want to be able to edit content controls but not delete them.

To protect contents inside a content control, you can use properties of the content control to prevent editing or deleting the content control:

  • The LockContents property prevents from editing the contents of the content control.
  • The LockContentControl property prevents from deleting the content control.

The following code sample shows how to protect the content control and its contents.

// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends rich text content control to the paragraph

IInlineContentControl contentControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Rich text content control.";

// Adds new text to the rich text content control

contentControl.ParagraphItems.Add(textRange);

// Sets tag appearance for the content control.

contentControl.ContentControlProperties.Appearance = ContentControlAppearance.Tags;

// Sets a tag property to identify the content control.

contentControl.ContentControlProperties.Tag = "Rich Text Protected";

// Sets a title for the content control.

contentControl.ContentControlProperties.Title = "Text Protected";

// Enables content control lock.

contentControl.ContentControlProperties.LockContentControl = true;

// Protects the contents of content control.

contentControl.ContentControlProperties.LockContents = true;

// Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx);

document.Close();
' Creates a new Word document 

Dim document As WordDocument = New WordDocument

' Adds one section and one paragraph to the document

document.EnsureMinimal()

' Adds new paragraph to the section

Dim paragraph As WParagraph = document.LastParagraph

' Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ")

' Appends rich text content control to the paragraph

Dim contentControl As IInlineContentControl = CType(paragraph.AppendInlineContentControl(ContentControlType.RichText), InlineContentControl)

Dim textRange As WTextRange = New WTextRange(document)

textRange.Text = "Rich text content control."

' Adds new text to the rich text content control

contentControl.ParagraphItems.Add(textRange)

' Sets tag appearance for the content control.

contentControl.ContentControlProperties.Appearance = ContentControlAppearance.Tags

' Sets a tag property to identify the content control.

contentControl.ContentControlProperties.Tag = "Rich Text Protected"

' Sets a title for the content control.

contentControl.ContentControlProperties.Title = "Text Protected"

' Enables content control lock.

contentControl.ContentControlProperties.LockContentControl = True

' Protects the contents of content control.

contentControl.ContentControlProperties.LockContents = True

' Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx)

document.Close()
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends rich text content control to the paragraph

IInlineContentControl contentControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Rich text content control.";

// Adds new text to the rich text content control

contentControl.ParagraphItems.Add(textRange);

// Sets tag appearance for the content control.

contentControl.ContentControlProperties.Appearance = ContentControlAppearance.Tags;

// Sets a tag property to identify the content control.

contentControl.ContentControlProperties.Tag = "Rich Text Protected";

// Sets a title for the content control.

contentControl.ContentControlProperties.Title = "Text Protected";

// Enables content control lock.

contentControl.ContentControlProperties.LockContentControl = true;

// Protects the contents of content control.

contentControl.ContentControlProperties.LockContents = true;

//Saves the Word file to MemoryStream

MemoryStream stream = new MemoryStream();

await document.SaveAsync(stream, FormatType.Docx);

//Saves the stream as Word file in local machine

Save(stream, "Sample.docx");

document.Close();

// Saves the Word document

async void Save(MemoryStream streams, string filename)

{

	streams.Position = 0;

	StorageFile stFile;

	if (!(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")))

	{

		FileSavePicker savePicker = new FileSavePicker();

		savePicker.DefaultFileExtension = ".docx";

		savePicker.SuggestedFileName = filename;

		savePicker.FileTypeChoices.Add("Word Documents", new List<string>() { ".docx" });

		stFile = await savePicker.PickSaveFileAsync();

	}

	else

	{

		StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;

		stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

	}

	if (stFile != null)

	{

		using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))

		{

			// Write compressed data from memory to file

			using (Stream outstream = zipStream.AsStreamForWrite())

			{

				byte[] buffer = streams.ToArray();

				outstream.Write(buffer, 0, buffer.Length);

				outstream.Flush();

			}

		}

	}

	// Launch the saved Word file

	await Windows.System.Launcher.LaunchFileAsync(stFile);

}
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends rich text content control to the paragraph

IInlineContentControl contentControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Rich text content control.";

// Adds new text to the rich text content control

contentControl.ParagraphItems.Add(textRange);

// Sets tag appearance for the content control.

contentControl.ContentControlProperties.Appearance = ContentControlAppearance.Tags;

// Sets a tag property to identify the content control.

contentControl.ContentControlProperties.Tag = "Rich Text Protected";

// Sets a title for the content control.

contentControl.ContentControlProperties.Title = "Text Protected";

// Enables content control lock.

contentControl.ContentControlProperties.LockContentControl = true;

// Protects the contents of content control.

contentControl.ContentControlProperties.LockContents = true;

// Creates memory stream.

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

document.Close();
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends rich text content control to the paragraph

IInlineContentControl contentControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Rich text content control.";

// Adds new text to the rich text content control

contentControl.ParagraphItems.Add(textRange);

// Sets tag appearance for the content control.

contentControl.ContentControlProperties.Appearance = ContentControlAppearance.Tags;

// Sets a tag property to identify the content control.

contentControl.ContentControlProperties.Tag = "Rich Text Protected";

// Sets a title for the content control.

contentControl.ContentControlProperties.Title = "Text Protected";

// Enables content control lock.

contentControl.ContentControlProperties.LockContentControl = true;

// Protects the contents of content control.

contentControl.ContentControlProperties.LockContents = true;

// Creates memory stream

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

//Save the stream as a file in the device and invoke it for viewing

Xamarin.Forms.DependencyService.Get<ISave>().SaveAndView("Result.docx", "application/msword", outputStream);

document.Close();

Form Filling

Another major use case is to create the forms. You can design your own forms for various stages using the text box, check box, and list box. Refer to the following code example.

Form creation:

// Create a new document.

WordDocument document = new WordDocument();

// Adding a new section to the document.

IWSection section = document.AddSection();

// Adding a new paragraph to the section.

IWParagraph paragraph = section.AddParagraph();

#region Document formatting

// Sets background color for document.

document.Background.Gradient.Color1 = System.Drawing.Color.FromArgb(232, 232, 232);

document.Background.Gradient.Color2 = System.Drawing.Color.FromArgb(255, 255, 255);

document.Background.Type = BackgroundType.Gradient;

document.Background.Gradient.ShadingStyle = GradientShadingStyle.Horizontal;

document.Background.Gradient.ShadingVariant = GradientShadingVariant.ShadingDown;

// Sets page size for document.

section.PageSetup.Margins.All = 30f;

section.PageSetup.PageSize = new System.Drawing.SizeF(600, 600f);

#endregion

#region Title Section

// Adds a new table to the section.

IWTable table = section.Body.AddTable();

table.ResetCells(1, 2);

// Gets the table first row.

WTableRow row = table.Rows[0];

row.Height = 25f;

// Adds a new paragraph to the cell.

IWParagraph cellPara = row.Cells[0].AddParagraph();

// Appends a new picture.

IWPicture pic = cellPara.AppendPicture(System.Drawing.Image.FromFile(@"D:\image.jpg"));

pic.Height = 80;

pic.Width = 180;

// Adds a new paragraph to the next cell.

cellPara = row.Cells[1].AddParagraph();

row.Cells[1].CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle;

row.Cells[1].CellFormat.BackColor = System.Drawing.Color.FromArgb(173, 215, 255);

// Appends the text.

IWTextRange txt = cellPara.AppendText("Job Application Form");

cellPara.ParagraphFormat.HorizontalAlignment = Syncfusion.DocIO.DLS.HorizontalAlignment.Center;

// Sets the formats.

txt.CharacterFormat.Bold = true;

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 18f;

// Sets the width and border type.

row.Cells[0].Width = 200;

row.Cells[1].Width = 300;

row.Cells[1].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline;

#endregion

// Adds a new paragraph.

section.AddParagraph();

#region General Information

// Adds a new table.

table = section.Body.AddTable();

table.ResetCells(2, 1);

row = table.Rows[0];

row.Height = 20;

row.Cells[0].Width = 500;

// Adds a new paragraph.

cellPara = row.Cells[0].AddParagraph();

// Sets a border type, color, background, and vertical alignment for cell.

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Thick;

row.Cells[0].CellFormat.Borders.Color = System.Drawing.Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = System.Drawing.Color.FromArgb(198, 227, 255);

row.Cells[0].CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle;

txt = cellPara.AppendText(" General Information");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.Bold = true;

txt.CharacterFormat.FontSize = 11f;

row = table.Rows[1];

cellPara = row.Cells[0].AddParagraph();

// Sets a width, border type, color and background for cell.

row.Cells[0].Width = 500;

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline;

row.Cells[0].CellFormat.Borders.Color = System.Drawing.Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = System.Drawing.Color.FromArgb(222, 239, 255);

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n Full Name:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

InlineContentControl txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Birth Date:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Date) as InlineContentControl;

txtField.ContentControlProperties.Title = "Date";

// Sets the date display format.

txtField.ContentControlProperties.DateDisplayFormat = "M/d/yyyy";

// Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Address:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets multiline property to true to get the multiple line input of Address.

txtField.ContentControlProperties.Multiline = true;

// Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Phone:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Email:\t\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

cellPara.AppendText("\n");

#endregion

section.AddParagraph();

#region Educational Qualification

// Adds a new table to the section.

table = section.Body.AddTable();

table.ResetCells(2, 1);

row = table.Rows[0];

row.Height = 20;

// Sets width, border type, color, background and vertical alignment for cell.

row.Cells[0].Width = 500;

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Thick;

row.Cells[0].CellFormat.Borders.Color = System.Drawing.Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = System.Drawing.Color.FromArgb(198, 227, 255);

row.Cells[0].CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle;

cellPara = row.Cells[0].AddParagraph();

// Appends a text to paragraph of cell.

txt = cellPara.AppendText(" Educational Qualification");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.Bold = true;

txt.CharacterFormat.FontSize = 11f;

row = table.Rows[1];

// Sets width, border type, color, and background for cell.

row.Cells[0].Width = 500;

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline;

row.Cells[0].CellFormat.Borders.Color = System.Drawing.Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = System.Drawing.Color.FromArgb(222, 239, 255);

cellPara = row.Cells[0].AddParagraph();

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n Type:\t\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

InlineContentControl dropdown = cellPara.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Choose an item from drop down list";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

ContentControlListItem item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Higher";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Vocational";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Universal";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

dropdown.ContentControlProperties.Title = "Drop-Down";

// Sets formatting options for text present inside a content control.

dropdown.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue;

dropdown.BreakCharacterFormat.FontName = "Arial";

dropdown.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Institution:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

// Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Programming Languages:");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n\t C#:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 9f;

// Appends a new inline content control to enter the value.

dropdown = cellPara.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

textRange = new WTextRange(document);

textRange.Text = "Choose an item from drop down list";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Perfect";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Good";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Excellent";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

// Sets formatting options for text present inside a content control.

dropdown.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue;

dropdown.BreakCharacterFormat.FontName = "Arial";

dropdown.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n\t VB:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 9f;

// Appends a new inline content control to enter the value.

dropdown = cellPara.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

textRange = new WTextRange(document);

textRange.Text = "Choose an item from drop down list";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Perfect";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Good";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Excellent";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

dropdown.ContentControlProperties.Title = "Drop-Down";

// Sets formatting options for text present inside a content control.

dropdown.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue;

dropdown.BreakCharacterFormat.FontName = "Arial";

dropdown.BreakCharacterFormat.FontSize = 11f;

#endregion

// Saves and closes the Word document instance

document.Save("Form_Template.docx");

document.Close();
' Create a new document.

Dim document As WordDocument = New WordDocument()

' Adding a new section to the document.

Dim section As IWSection = document.AddSection()

' Adding a new paragraph to the section.

Dim paragraph As IWParagraph = section.AddParagraph()

#Region "Document Formatting"

' Sets background color for document.

document.Background.Gradient.Color1 = System.Drawing.Color.FromArgb(232, 232, 232)

document.Background.Gradient.Color2 = System.Drawing.Color.FromArgb(255, 255, 255)

document.Background.Type = BackgroundType.Gradient

document.Background.Gradient.ShadingStyle = GradientShadingStyle.Horizontal

document.Background.Gradient.ShadingVariant = GradientShadingVariant.ShadingDown

' Sets page size for document.

section.PageSetup.Margins.All = 30.0F

section.PageSetup.PageSize = New System.Drawing.SizeF(600, 600.0!)

#End Region

#Region "Title Section"

' Adds a new table to the section.

Dim table As IWTable = section.Body.AddTable()

table.ResetCells(1, 2)

' Gets the table first row.

Dim row As WTableRow = table.Rows(0)

row.Height = 25.0F

' Adds a New paragraph to the cell.

Dim cellPara As IWParagraph = row.Cells(0).AddParagraph

' Appends a new picture.

Dim pic As IWPicture = cellPara.AppendPicture(System.Drawing.Image.FromFile("D:\image.jpg"))

pic.Height = 80

pic.Width = 180

' Adds a new paragraph to the next cell.

cellPara = row.Cells(1).AddParagraph

row.Cells(1).CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle

row.Cells(1).CellFormat.BackColor = System.Drawing.Color.FromArgb(173, 215, 255)

' Appends the text.

Dim txt As IWTextRange = cellPara.AppendText("Job Application Form")

cellPara.ParagraphFormat.HorizontalAlignment = Syncfusion.DocIO.DLS.HorizontalAlignment.Center

' Sets the formats.

txt.CharacterFormat.Bold = True

txt.CharacterFormat.FontName = "Arial"

txt.CharacterFormat.FontSize = 18.0F

' Sets the width and border type.

row.Cells(0).Width = 200

row.Cells(1).Width = 300

row.Cells(1).CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline

#End Region

' Adds a new paragraph.

section.AddParagraph()

#Region "General Information"

' Adds a new table.

table = section.AddTable()

table.ResetCells(2, 1)

row = table.Rows(0)

row.Height = 20

row.Cells(0).Width = 500

' Adds a new paragraph.

cellPara = row.Cells(0).AddParagraph

' Sets a border type, color, background, and vertical alignment for cell.

row.Cells(0).CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Thick

row.Cells(0).CellFormat.Borders.Color = System.Drawing.Color.FromArgb(155, 205, 255)

row.Cells(0).CellFormat.BackColor = System.Drawing.Color.FromArgb(198, 227, 255)

row.Cells(0).CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle

txt = cellPara.AppendText(" General Information")

txt.CharacterFormat.FontName = "Arial"

txt.CharacterFormat.Bold = True

txt.CharacterFormat.FontSize = 11.0F

row = table.Rows(1)

cellPara = row.Cells(0).AddParagraph

' Sets a width, border type, color and background for cell.

row.Cells(0).Width = 500

row.Cells(0).CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline

row.Cells(0).CellFormat.Borders.Color = System.Drawing.Color.FromArgb(155, 205, 255)

row.Cells(0).CellFormat.BackColor = System.Drawing.Color.FromArgb(222, 239, 255)

' Appends a text to paragraph of cell.

txt = cellPara.AppendText(vbLf + " Full Name:" + vbTab + vbTab + vbTab + vbTab)

txt.CharacterFormat.FontName = "Arial"

txt.CharacterFormat.FontSize = 11.0F

' Appends a new inline content control to enter the value.

Dim txtField As InlineContentControl = CType(cellPara.AppendInlineContentControl(ContentControlType.Text), InlineContentControl)

txtField.ContentControlProperties.Title = "Text"

' Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue

txtField.BreakCharacterFormat.FontName = "Arial"

txtField.BreakCharacterFormat.FontSize = 11.0F

' Appends a text to paragraph of cell.

txt = cellPara.AppendText(vbLf + vbLf + " Birth Date:" + vbTab + vbTab + vbTab + vbTab)

txt.CharacterFormat.FontName = "Arial"

txt.CharacterFormat.FontSize = 11.0F

' Appends a new inline content control to enter the value.

txtField = CType(cellPara.AppendInlineContentControl(ContentControlType.Date), InlineContentControl)

txtField.ContentControlProperties.Title = "Date"

' Sets the date display format.

txtField.ContentControlProperties.DateDisplayFormat = "M/d/yyyy"

' Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue

txtField.BreakCharacterFormat.FontName = "Arial"

txtField.BreakCharacterFormat.FontSize = 11.0F

' Appends a text to paragraph of cell.

txt = cellPara.AppendText(vbLf + vbLf + " Address:" + vbTab + vbTab + vbTab + vbTab)

txt.CharacterFormat.FontName = "Arial"

txt.CharacterFormat.FontSize = 11.0F

' Appends a new inline content control to enter the value.

txtField = CType(cellPara.AppendInlineContentControl(ContentControlType.Text), InlineContentControl)

txtField.ContentControlProperties.Title = "Text"

' Sets multiline property to true to get the multiple line input of Address.

txtField.ContentControlProperties.Multiline = True

' Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue

txtField.BreakCharacterFormat.FontName = "Arial"

txtField.BreakCharacterFormat.FontSize = 11.0F

' Appends a text to paragraph of cell.

txt = cellPara.AppendText(vbLf + vbLf + " Phone:" + vbTab + vbTab + vbTab + vbTab)

txt.CharacterFormat.FontName = "Arial"

txt.CharacterFormat.FontSize = 11.0F

' Appends a new inline content control to enter the value.

txtField = CType(cellPara.AppendInlineContentControl(ContentControlType.Text), InlineContentControl)

txtField.ContentControlProperties.Title = "Text"

' Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue

txtField.BreakCharacterFormat.FontName = "Arial"

txtField.BreakCharacterFormat.FontSize = 11.0F

' Appends a text to paragraph of cell.

txt = cellPara.AppendText(vbLf + vbLf + " Email:" + vbTab + vbTab + vbTab + vbTab + vbTab)

txt.CharacterFormat.FontName = "Arial"

txt.CharacterFormat.FontSize = 11.0F

' Appends a New inline content control to enter the value.

txtField = CType(cellPara.AppendInlineContentControl(ContentControlType.Text), InlineContentControl)

txtField.ContentControlProperties.Title = "Text"

' Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue

txtField.BreakCharacterFormat.FontName = "Arial"

txtField.BreakCharacterFormat.FontSize = 11.0F

cellPara.AppendText(vbLf)

#End Region

section.AddParagraph()

#Region "Educational Qualification"

' Adds a new table to the section.

table = section.Body.AddTable()

table.ResetCells(2, 1)

row = table.Rows(0)

row.Height = 20

' Sets width, border type, color, background and vertical alignment for cell.

row.Cells(0).Width = 500

row.Cells(0).CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Thick

row.Cells(0).CellFormat.Borders.Color = System.Drawing.Color.FromArgb(155, 205, 255)

row.Cells(0).CellFormat.BackColor = System.Drawing.Color.FromArgb(198, 227, 255)

row.Cells(0).CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle

cellPara = row.Cells(0).AddParagraph

' Appends a text to paragraph of cell.

txt = cellPara.AppendText(" Educational Qualification")

txt.CharacterFormat.FontName = "Arial"

txt.CharacterFormat.Bold = True

txt.CharacterFormat.FontSize = 11.0F

row = table.Rows(1)

' Sets width, border type, color, and background for cell.

row.Cells(0).Width = 500

row.Cells(0).CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline

row.Cells(0).CellFormat.Borders.Color = System.Drawing.Color.FromArgb(155, 205, 255)

row.Cells(0).CellFormat.BackColor = System.Drawing.Color.FromArgb(222, 239, 255)

cellPara = row.Cells(0).AddParagraph

' Appends a text to paragraph of cell.

txt = cellPara.AppendText(vbLf + " Type:" + vbTab + vbTab + vbTab + vbTab + vbTab)

txt.CharacterFormat.FontName = "Arial"

txt.CharacterFormat.FontSize = 11.0F

' Appends a new inline content control to enter the value.

Dim dropdown As InlineContentControl = CType(cellPara.AppendInlineContentControl(ContentControlType.DropDownList), InlineContentControl)

Dim textRange As WTextRange = New WTextRange(document)

textRange.Text = "Choose an item from drop down list"

dropdown.ParagraphItems.Add(textRange)

' Creates an item for dropdown list

Dim item As ContentControlListItem = New ContentControlListItem()

' Sets the text to be displayed as list item

item.DisplayText = "Higher"

' Sets the value to the list item

item.Value = "1"

' Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item)

item = New ContentControlListItem()

item.DisplayText = "Vocational"

item.Value = "2"

dropdown.ContentControlProperties.ContentControlListItems.Add(item)

item = New ContentControlListItem()

item.DisplayText = "Universal"

item.Value = "3"

dropdown.ContentControlProperties.ContentControlListItems.Add(item)

dropdown.ContentControlProperties.Title = "Drop-Down"

' Sets formatting options for text present inside a content control.

dropdown.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue

dropdown.BreakCharacterFormat.FontName = "Arial"

dropdown.BreakCharacterFormat.FontSize = 11.0F

' Appends a text to paragraph of cell.

txt = cellPara.AppendText(vbLf + vbLf + " Institution:" + vbTab + vbTab + vbTab + vbTab)

txt.CharacterFormat.FontName = "Arial"

txt.CharacterFormat.FontSize = 11.0F

' Appends a new inline content control to enter the value.

txtField = CType(cellPara.AppendInlineContentControl(ContentControlType.Text), InlineContentControl)

' Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue

txtField.BreakCharacterFormat.FontName = "Arial"

txtField.BreakCharacterFormat.FontSize = 11.0F

' Appends a text to paragraph of cell.

txt = cellPara.AppendText(vbLf + vbLf + " Programming Languages:")

txt.CharacterFormat.FontName = "Arial"

txt.CharacterFormat.FontSize = 11.0F

' Appends a text to paragraph of cell.

txt = cellPara.AppendText("" + vbLf + vbLf + vbTab + " C#:" + vbTab + vbTab + vbTab + vbTab)

txt.CharacterFormat.FontName = "Arial"

txt.CharacterFormat.FontSize = 9.0F

' Appends a New inline content control to enter the value.

dropdown = CType(cellPara.AppendInlineContentControl(ContentControlType.DropDownList), InlineContentControl)

textRange = New WTextRange(document)

textRange.Text = "Choose an item from drop down list"

dropdown.ParagraphItems.Add(textRange)

' Creates an item for dropdown list

item = New ContentControlListItem()

' Sets the text to be displayed as list item

item.DisplayText = "Perfect"

' Sets the value to the list item

item.Value = "1"

' Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item)

item = New ContentControlListItem()

item.DisplayText = "Good"

item.Value = "2"

dropdown.ContentControlProperties.ContentControlListItems.Add(item)

item = New ContentControlListItem()

item.DisplayText = "Excellent"

item.Value = "3"

dropdown.ContentControlProperties.ContentControlListItems.Add(item)

' Sets formatting options for text present inside a content control.

dropdown.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue

dropdown.BreakCharacterFormat.FontName = "Arial"

dropdown.BreakCharacterFormat.FontSize = 11.0F

' Appends a text to paragraph of cell.

txt = cellPara.AppendText("" + vbLf + vbLf + vbTab& + " VB:" + vbTab + vbTab + vbTab& + vbTab)

txt.CharacterFormat.FontName = "Arial"

txt.CharacterFormat.FontSize = 9.0F

' Appends a new inline content control to enter the value.

dropdown = CType(cellPara.AppendInlineContentControl(ContentControlType.DropDownList), InlineContentControl)

textRange = New WTextRange(document)

textRange.Text = "Choose an item from drop down list"

dropdown.ParagraphItems.Add(textRange)

' Creates an item for dropdown list

item = New ContentControlListItem

' Sets the text to be displayed as list item

item.DisplayText = "Perfect"

' Sets the value to the list item

item.Value = "1"

' Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item)

item = New ContentControlListItem()

item.DisplayText = "Good"

item.Value = "2"

dropdown.ContentControlProperties.ContentControlListItems.Add(item)

item = New ContentControlListItem()

item.DisplayText = "Excellent"

item.Value = "3"

dropdown.ContentControlProperties.ContentControlListItems.Add(item)

dropdown.ContentControlProperties.Title = "Drop-Down"

' Sets formatting options for text present inside a content control.

dropdown.BreakCharacterFormat.TextColor = System.Drawing.Color.MidnightBlue

dropdown.BreakCharacterFormat.FontName = "Arial"

dropdown.BreakCharacterFormat.FontSize = 11.0F

#End Region

' Saves and closes the Word document instance

document.Save("Form_Template.docx")

document.Close()
// Create a new document.

WordDocument document = new WordDocument();

// Adding a new section to the document.

IWSection section = document.AddSection();

// Adding a new paragraph to the section.

IWParagraph paragraph = section.AddParagraph();

#region Document formatting

// Sets background color for document.

document.Background.Gradient.Color1 = Color.FromArgb(232, 232, 232);

document.Background.Gradient.Color2 = Color.FromArgb(255, 255, 255);

document.Background.Type = BackgroundType.Gradient;

document.Background.Gradient.ShadingStyle = GradientShadingStyle.Horizontal;

document.Background.Gradient.ShadingVariant = GradientShadingVariant.ShadingDown;

// Sets page size for document.

section.PageSetup.Margins.All = 30f;

section.PageSetup.PageSize = new SizeF(600, 600f);

#endregion

#region Title Section

// Adds a new table to the section.

IWTable table = section.Body.AddTable();

table.ResetCells(1, 2);

// Gets the table first row.

WTableRow row = table.Rows[0];

row.Height = 25f;

// Adds a new paragraph to the cell.

IWParagraph cellPara = row.Cells[0].AddParagraph();

// Appends a new picture.

Assembly assembly = typeof(App).GetTypeInfo().Assembly;

Stream pictureStream = assembly.GetManifestResourceStream("Sample.Assets.image.jpg");

IWPicture pic = cellPara.AppendPicture(pictureStream);

pic.Height = 80;

pic.Width = 180;

// Adds a new paragraph to the next cell.

cellPara = row.Cells[1].AddParagraph();

row.Cells[1].CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle;

row.Cells[1].CellFormat.BackColor = Color.FromArgb(173, 215, 255);

// Appends the text.

IWTextRange txt = cellPara.AppendText("Job Application Form");

cellPara.ParagraphFormat.HorizontalAlignment = Syncfusion.DocIO.DLS.HorizontalAlignment.Center;

// Sets the formats.

txt.CharacterFormat.Bold = true;

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 18f;

// Sets the width and border type.

row.Cells[0].Width = 200;

row.Cells[1].Width = 300;

row.Cells[1].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline;

#endregion

// Adds a new paragraph.

section.AddParagraph();

#region General Information

// Adds a new table.

table = section.Body.AddTable();

table.ResetCells(2, 1);

row = table.Rows[0];

row.Height = 20;

row.Cells[0].Width = 500;

// Adds a new paragraph.

cellPara = row.Cells[0].AddParagraph();

// Sets a border type, color, background, and vertical alignment for cell.

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Thick;

row.Cells[0].CellFormat.Borders.Color = Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = Color.FromArgb(198, 227, 255);

row.Cells[0].CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle;

txt = cellPara.AppendText(" General Information");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.Bold = true;

txt.CharacterFormat.FontSize = 11f;

row = table.Rows[1];

cellPara = row.Cells[0].AddParagraph();

// Sets a width, border type, color and background for cell.

row.Cells[0].Width = 500;

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline;

row.Cells[0].CellFormat.Borders.Color = Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = Color.FromArgb(222, 239, 255);

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n Full Name:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

InlineContentControl txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Birth Date:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Date) as InlineContentControl;

txtField.ContentControlProperties.Title = "Date";

// Sets the date display format.

txtField.ContentControlProperties.DateDisplayFormat = "M/d/yyyy";

// Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Address:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets multiline property to true to get the multiple line input of Address.

txtField.ContentControlProperties.Multiline = true;

// Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Phone:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Email:\t\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

cellPara.AppendText("\n");

#endregion

section.AddParagraph();

#region Educational Qualification

// Adds a new table to the section.

table = section.Body.AddTable();

table.ResetCells(2, 1);

row = table.Rows[0];

row.Height = 20;

// Sets width, border type, color, background and vertical alignment for cell.

row.Cells[0].Width = 500;

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Thick;

row.Cells[0].CellFormat.Borders.Color = Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = Color.FromArgb(198, 227, 255);

row.Cells[0].CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle;

cellPara = row.Cells[0].AddParagraph();

// Appends a text to paragraph of cell.

txt = cellPara.AppendText(" Educational Qualification");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.Bold = true;

txt.CharacterFormat.FontSize = 11f;

row = table.Rows[1];

// Sets width, border type, color, and background for cell.

row.Cells[0].Width = 500;

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline;

row.Cells[0].CellFormat.Borders.Color = Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = Color.FromArgb(222, 239, 255);

cellPara = row.Cells[0].AddParagraph();

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n Type:\t\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

InlineContentControl dropdown = cellPara.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Choose an item from drop down list";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

ContentControlListItem item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Higher";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Vocational";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Universal";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

dropdown.ContentControlProperties.Title = "Drop-Down";

// Sets formatting options for text present inside a content control.

dropdown.BreakCharacterFormat.TextColor = Color.MidnightBlue;

dropdown.BreakCharacterFormat.FontName = "Arial";

dropdown.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Institution:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

// Sets formatting options for text present inside a content control.

txtField.BreakCharacterFormat.TextColor = Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Programming Languages:");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n\t C#:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 9f;

// Appends a new inline content control to enter the value.

dropdown = cellPara.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

textRange = new WTextRange(document);

textRange.Text = "Choose an item from drop down list";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Perfect";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Good";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Excellent";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

// Sets formatting options for text present inside a content control.

dropdown.BreakCharacterFormat.TextColor = Color.MidnightBlue;

dropdown.BreakCharacterFormat.FontName = "Arial";

dropdown.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n\t VB:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 9f;

// Appends a new inline content control to enter the value.

dropdown = cellPara.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

textRange = new WTextRange(document);

textRange.Text = "Choose an item from drop down list";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Perfect";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Good";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Excellent";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

dropdown.ContentControlProperties.Title = "Drop-Down";

// Sets formatting options for text present inside a content control.

dropdown.BreakCharacterFormat.TextColor = Color.MidnightBlue;

dropdown.BreakCharacterFormat.FontName = "Arial";

dropdown.BreakCharacterFormat.FontSize = 11f;

#endregion

//Saves the Word file to MemoryStream

MemoryStream stream = new MemoryStream();

await document.SaveAsync(stream, FormatType.Docx);

//Saves the stream as Word file in local machine

Save(stream, "Sample.docx");

document.Close();

// Saves the Word document

async void Save(MemoryStream streams, string filename)

{

	streams.Position = 0;

	StorageFile stFile;

	if (!(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")))

	{

		FileSavePicker savePicker = new FileSavePicker();

		savePicker.DefaultFileExtension = ".docx";

		savePicker.SuggestedFileName = filename;

		savePicker.FileTypeChoices.Add("Word Documents", new List<string>() { ".docx" });

		stFile = await savePicker.PickSaveFileAsync();

	}

	else

	{

		StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;

		stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

	}

	if (stFile != null)

	{

		using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))

		{

			// Write compressed data from memory to file

			using (Stream outstream = zipStream.AsStreamForWrite())

			{

				byte[] buffer = streams.ToArray();

				outstream.Write(buffer, 0, buffer.Length);

				outstream.Flush();

			}

		}

	}

	// Launch the saved Word file

	await Windows.System.Launcher.LaunchFileAsync(stFile);

}
// Create a new document.

WordDocument document = new WordDocument();

// Adding a new section to the document.

IWSection section = document.AddSection();

// Adding a new paragraph to the section.

IWParagraph paragraph = section.AddParagraph();

#region Document formatting

// Sets background color for document.

document.Background.Gradient.Color1 = Syncfusion.Drawing.Color.FromArgb(232, 232, 232);

document.Background.Gradient.Color2 = Syncfusion.Drawing.Color.FromArgb(255, 255, 255);

document.Background.Type = BackgroundType.Gradient;

document.Background.Gradient.ShadingStyle = GradientShadingStyle.Horizontal;

document.Background.Gradient.ShadingVariant = GradientShadingVariant.ShadingDown;

// Sets page size for document.

section.PageSetup.Margins.All = 30f;

section.PageSetup.PageSize = new Syncfusion.Drawing.SizeF(600, 600f);

#endregion

#region Title Section

// Adds a new table to the section.

IWTable table = section.Body.AddTable();

table.ResetCells(1, 2);

// Gets the table first row.

WTableRow row = table.Rows[0];

row.Height = 25f;

// Adds a new paragraph to the cell.

IWParagraph cellPara = row.Cells[0].AddParagraph();

// Appends new picture.

IWPicture pic = cellPara.AppendPicture(new FileStream(@"D:\image.jpg", FileMode.Open, FileAccess.Read));

pic.Height = 80;

pic.Width = 180;

// Adds a new paragraph to the next cell.

cellPara = row.Cells[1].AddParagraph();

row.Cells[1].CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle;

row.Cells[1].CellFormat.BackColor = Syncfusion.Drawing.Color.FromArgb(173, 215, 255);

// Appends the text.

IWTextRange txt = cellPara.AppendText("Job Application Form");

cellPara.ParagraphFormat.HorizontalAlignment = Syncfusion.DocIO.DLS.HorizontalAlignment.Center;

// Sets the formats.

txt.CharacterFormat.Bold = true;

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 18f;

// Sets the widths and border types.

row.Cells[0].Width = 200;

row.Cells[1].Width = 300;

row.Cells[1].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline;

#endregion

// Adds a new paragraph.

section.AddParagraph();

#region General Information

// Adds a new table.

table = section.Body.AddTable();

table.ResetCells(2, 1);

row = table.Rows[0];

row.Height = 20;

row.Cells[0].Width = 500;

// Adds a new paragraph.

cellPara = row.Cells[0].AddParagraph();

// Sets a border type, color and background for cell.

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Thick;

row.Cells[0].CellFormat.Borders.Color = Syncfusion.Drawing.Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = Syncfusion.Drawing.Color.FromArgb(198, 227, 255);

row.Cells[0].CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle;

txt = cellPara.AppendText(" General Information");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.Bold = true;

txt.CharacterFormat.FontSize = 11f;

row = table.Rows[1];

cellPara = row.Cells[0].AddParagraph();

// Sets a width, border type, color and background for cell.

row.Cells[0].Width = 500;

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline;

row.Cells[0].CellFormat.Borders.Color = Syncfusion.Drawing.Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = Syncfusion.Drawing.Color.FromArgb(222, 239, 255);

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n Full Name:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

InlineContentControl txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets formatting options for text present insider a content control.

txtField.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Birth Date:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Date) as InlineContentControl;

txtField.ContentControlProperties.Title = "Date";

// Sets the date display format.

txtField.ContentControlProperties.DateDisplayFormat = "M/d/yyyy";

// Sets formatting options for text present insider a content control.

txtField.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Address:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets multiline property to true to get the multiple line input of Address.

txtField.ContentControlProperties.Multiline = true;

// Sets formatting options for text present insider a content control.

txtField.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Phone:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets formatting options for text present insider a content control.

txtField.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Email:\t\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets formatting options for text present insider a content control.

txtField.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

cellPara.AppendText("\n");

#endregion

section.AddParagraph();

#region Educational Qualification

// Adds a new table to the section.

table = section.Body.AddTable();

table.ResetCells(2, 1);

row = table.Rows[0];

row.Height = 20;

// Sets width, border type, color, background and vertical alignment for cell.

row.Cells[0].Width = 500;

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Thick;

row.Cells[0].CellFormat.Borders.Color = Syncfusion.Drawing.Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = Syncfusion.Drawing.Color.FromArgb(198, 227, 255);

row.Cells[0].CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle;

cellPara = row.Cells[0].AddParagraph();

// Appends a text to paragraph of cell.

txt = cellPara.AppendText(" Educational Qualification");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.Bold = true;

txt.CharacterFormat.FontSize = 11f;

row = table.Rows[1];

// Sets width, border type, color, and background for cell.

row.Cells[0].Width = 500;

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline;

row.Cells[0].CellFormat.Borders.Color = Syncfusion.Drawing.Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = Syncfusion.Drawing.Color.FromArgb(222, 239, 255);

cellPara = row.Cells[0].AddParagraph();

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n Type:\t\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

InlineContentControl dropdown = cellPara.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Choose an item from drop down list";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

ContentControlListItem item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Higher";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Vocational";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Universal";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

dropdown.ContentControlProperties.Title = "Drop-Down";

// Sets formatting options for text present insider a content control.

dropdown.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

dropdown.BreakCharacterFormat.FontName = "Arial";

dropdown.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Institution:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

// Sets formatting options for text present insider a content control.

txtField.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Programming Languages:");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n\t C#:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 9f;

// Appends a new inline content control to enter the value.

dropdown = cellPara.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

textRange = new WTextRange(document);

textRange.Text = "Choose an item from drop down list";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Perfect";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Good";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Excellent";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

// Sets formatting options for text present insider a content control.

dropdown.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

dropdown.BreakCharacterFormat.FontName = "Arial";

dropdown.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n\t VB:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 9f;

// Appends a new inline content control to enter the value.

dropdown = cellPara.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

textRange = new WTextRange(document);

textRange.Text = "Choose an item from drop down list";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Perfect";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Good";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Excellent";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

dropdown.ContentControlProperties.Title = "Drop-Down";

// Sets formatting options for text present insider a content control.

dropdown.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

dropdown.BreakCharacterFormat.FontName = "Arial";

dropdown.BreakCharacterFormat.FontSize = 11f;

#endregion

// Creates memory stream.

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

document.Close();
// Create a new document.

WordDocument document = new WordDocument();

// Adding a new section to the document.

IWSection section = document.AddSection();

// Adding a new paragraph to the section.

IWParagraph paragraph = section.AddParagraph();

#region Document formatting

// Sets background color for document.

document.Background.Gradient.Color1 = Syncfusion.Drawing.Color.FromArgb(232, 232, 232);

document.Background.Gradient.Color2 = Syncfusion.Drawing.Color.FromArgb(255, 255, 255);

document.Background.Type = BackgroundType.Gradient;

document.Background.Gradient.ShadingStyle = GradientShadingStyle.Horizontal;

document.Background.Gradient.ShadingVariant = GradientShadingVariant.ShadingDown;

// Sets page size for document.

section.PageSetup.Margins.All = 30f;

section.PageSetup.PageSize = new Syncfusion.Drawing.SizeF(600, 600f);

#endregion

#region Title Section

// Adds a new table to the section.

IWTable table = section.Body.AddTable();

table.ResetCells(1, 2);

// Gets the table first row.

WTableRow row = table.Rows[0];

row.Height = 25f;

// Adds a new paragraph to the cell.

IWParagraph cellPara = row.Cells[0].AddParagraph();

// Appends new picture.

Stream imageStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Image.jpg");

IWPicture pic = cellPara.AppendPicture(imageStream);

pic.Height = 80;

pic.Width = 180;

// Adds a new paragraph to the next cell.

cellPara = row.Cells[1].AddParagraph();

row.Cells[1].CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle;

row.Cells[1].CellFormat.BackColor = Syncfusion.Drawing.Color.FromArgb(173, 215, 255);

// Appends the text.

IWTextRange txt = cellPara.AppendText("Job Application Form");

cellPara.ParagraphFormat.HorizontalAlignment = Syncfusion.DocIO.DLS.HorizontalAlignment.Center;

// Sets the formats.

txt.CharacterFormat.Bold = true;

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 18f;

// Sets the width and border type.

row.Cells[0].Width = 200;

row.Cells[1].Width = 300;

row.Cells[1].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline;

#endregion

// Adds a new paragraph.

section.AddParagraph();

#region General Information

// Adds a new table.

table = section.Body.AddTable();

table.ResetCells(2, 1);

row = table.Rows[0];

row.Height = 20;

row.Cells[0].Width = 500;

// Adds a new paragraph.

cellPara = row.Cells[0].AddParagraph();

// Sets a border type, color, background, and vertical alignment for cell.

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Thick;

row.Cells[0].CellFormat.Borders.Color = Syncfusion.Drawing.Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = Syncfusion.Drawing.Color.FromArgb(198, 227, 255);

row.Cells[0].CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle;

txt = cellPara.AppendText(" General Information");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.Bold = true;

txt.CharacterFormat.FontSize = 11f;

row = table.Rows[1];

cellPara = row.Cells[0].AddParagraph();

// Sets a width, border type, color and background for cell.

row.Cells[0].Width = 500;

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline;

row.Cells[0].CellFormat.Borders.Color = Syncfusion.Drawing.Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = Syncfusion.Drawing.Color.FromArgb(222, 239, 255);

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n Full Name:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

InlineContentControl txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets formatting options for text present insider a content control.

txtField.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Birth Date:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Date) as InlineContentControl;

txtField.ContentControlProperties.Title = "Date";

// Sets the date display format.

txtField.ContentControlProperties.DateDisplayFormat = "M/d/yyyy";

// Sets formatting options for text present insider a content control.

txtField.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Address:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets multiline property to true to get the multiple line input of Address.

txtField.ContentControlProperties.Multiline = true;

// Sets formatting options for text present insider a content control.

txtField.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Phone:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets formatting options for text present insider a content control.

txtField.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Email:\t\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

txtField.ContentControlProperties.Title = "Text";

// Sets formatting options for text present insider a content control.

txtField.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

cellPara.AppendText("\n");

#endregion

section.AddParagraph();

#region Educational Qualification

// Adds a new table to the section.

table = section.Body.AddTable();

table.ResetCells(2, 1);

row = table.Rows[0];

row.Height = 20;

// Sets width, border type, color, background and vertical alignment for cell.

row.Cells[0].Width = 500;

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Thick;

row.Cells[0].CellFormat.Borders.Color = Syncfusion.Drawing.Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = Syncfusion.Drawing.Color.FromArgb(198, 227, 255);

row.Cells[0].CellFormat.VerticalAlignment = Syncfusion.DocIO.DLS.VerticalAlignment.Middle;

cellPara = row.Cells[0].AddParagraph();

// Appends a text to paragraph of cell.

txt = cellPara.AppendText(" Educational Qualification");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.Bold = true;

txt.CharacterFormat.FontSize = 11f;

row = table.Rows[1];

// Sets width, border type, color, and background for cell.

row.Cells[0].Width = 500;

row.Cells[0].CellFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.Hairline;

row.Cells[0].CellFormat.Borders.Color = Syncfusion.Drawing.Color.FromArgb(155, 205, 255);

row.Cells[0].CellFormat.BackColor = Syncfusion.Drawing.Color.FromArgb(222, 239, 255);

cellPara = row.Cells[0].AddParagraph();

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n Type:\t\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

InlineContentControl dropdown = cellPara.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Choose an item from drop down list";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

ContentControlListItem item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Higher";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Vocational";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Universal";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

dropdown.ContentControlProperties.Title = "Drop-Down";

// Sets formatting options for text present insider a content control.

dropdown.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

dropdown.BreakCharacterFormat.FontName = "Arial";

dropdown.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Institution:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a new inline content control to enter the value.

txtField = cellPara.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

// Sets formatting options for text present insider a content control.

txtField.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

txtField.BreakCharacterFormat.FontName = "Arial";

txtField.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n Programming Languages:");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n\t C#:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 9f;

// Appends a new inline content control to enter the value.

dropdown = cellPara.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

textRange = new WTextRange(document);

textRange.Text = "Choose an item from drop down list";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Perfect";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Good";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Excellent";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

// Sets formatting options for text present insider a content control.

dropdown.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

dropdown.BreakCharacterFormat.FontName = "Arial";

dropdown.BreakCharacterFormat.FontSize = 11f;

// Appends a text to paragraph of cell.

txt = cellPara.AppendText("\n\n\t VB:\t\t\t\t");

txt.CharacterFormat.FontName = "Arial";

txt.CharacterFormat.FontSize = 9f;

// Appends a new inline content control to enter the value.

dropdown = cellPara.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

textRange = new WTextRange(document);

textRange.Text = "Choose an item from drop down list";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Perfect";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Good";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Excellent";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

dropdown.ContentControlProperties.Title = "Drop-Down";

// Sets formatting options for text present insider a content control.

dropdown.BreakCharacterFormat.TextColor = Syncfusion.Drawing.Color.MidnightBlue;

dropdown.BreakCharacterFormat.FontName = "Arial";

dropdown.BreakCharacterFormat.FontSize = 11f;

#endregion

// Create memory stream

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

//Save the stream as a file in the device and invoke it for viewing

Xamarin.Forms.DependencyService.Get<ISave>().SaveAndView("Result.docx", "application/msword", outputStream);

document.Close();

You can also fill the forms using the DocIO. Refer to the following code example.

Form filling:

// Open the created form document.

WordDocument document1 = new WordDocument("Form_Template.docx");

IWSection sec = document1.LastSection;

InlineContentControl inlineCC;

InlineContentControl dropDownCC;

WTable table1 = sec.Tables[1] as WTable;

WTableRow row1 = table1.Rows[1];

#region General Information

// Fill the name.

WParagraph cellPara1 = row1.Cells[0].ChildEntities[1] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

WTextRange text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "Steve Jobs";

inlineCC.ParagraphItems.Add(text);

// Fill the date of birth.

cellPara1 = row1.Cells[0].ChildEntities[3] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "06/01/1994";

inlineCC.ParagraphItems.Add(text);

// Fill the address.

cellPara1 = row1.Cells[0].ChildEntities[5] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "2501 Aerial Center Parkway.";

inlineCC.ParagraphItems.Add(text);

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "Morrisville, NC 27560.";

inlineCC.ParagraphItems.Add(text);

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "USA.";

inlineCC.ParagraphItems.Add(text);

// Fill the phone no.

cellPara1 = row1.Cells[0].ChildEntities[7] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "+1 919.481.1974";

inlineCC.ParagraphItems.Add(text);

// Fill the email id.

cellPara1 = row1.Cells[0].ChildEntities[9] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "steve123@email.com";

inlineCC.ParagraphItems.Add(text);

#endregion

#region Educational Information

table1 = sec.Tables[2] as WTable;

row1 = table1.Rows[1];

// Fill the education type.

cellPara1 = row1.Cells[0].ChildEntities[1] as WParagraph;

dropDownCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems[1].DisplayText;

dropDownCC.ParagraphItems.Add(text);

// Fill the university.

cellPara1 = row1.Cells[0].ChildEntities[3] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = "Michigan University";

inlineCC.ParagraphItems.Add(text);

// Fill the C# experience level.

cellPara1 = row1.Cells[0].ChildEntities[7] as WParagraph;

dropDownCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems[2].DisplayText;

dropDownCC.ParagraphItems.Add(text);

// Fill the VB experience level.

cellPara1 = row1.Cells[0].ChildEntities[9] as WParagraph;

dropDownCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems[1].DisplayText;

dropDownCC.ParagraphItems.Add(text);

#endregion

// Saves and closes the Word document instance

document1.Save("Form_Filled.docx");

document1.Close();
' Open the created form document.

Dim document1 As WordDocument = New WordDocument("Form_Template.docx")

Dim sec As IWSection = document1.LastSection

Dim inlineCC As InlineContentControl

Dim dropDownCC As InlineContentControl

Dim table1 As WTable = CType(sec.Tables(1), WTable)

Dim row1 As WTableRow = table1.Rows(1)

#Region "General Information"

Dim cellPara1 As WParagraph = CType(row1.Cells(0).ChildEntities(1), WParagraph)

inlineCC = CType(cellPara1.ChildEntities.LastItem, InlineContentControl)

Dim text As WTextRange = New WTextRange(document1)

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat)

text.Text = "Steve Jobs"

inlineCC.ParagraphItems.Add(text)

' Fill the date of birth.

cellPara1 = CType(row1.Cells(0).ChildEntities(3), WParagraph)

inlineCC = CType(cellPara1.ChildEntities.LastItem, InlineContentControl)

text = New WTextRange(document1)

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat)

text.Text = "06/01/1994"

inlineCC.ParagraphItems.Add(text)

' Fill the address.

cellPara1 = CType(row1.Cells(0).ChildEntities(5), WParagraph)

inlineCC = CType(cellPara1.ChildEntities.LastItem, InlineContentControl)

text = New WTextRange(document1)

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat)

text.Text = "2501 Aerial Center Parkway."

inlineCC.ParagraphItems.Add(text)

text = New WTextRange(document1)

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat)

text.Text = "Morrisville, NC 27560."

inlineCC.ParagraphItems.Add(text)

text = New WTextRange(document1)

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat)

text.Text = "USA."

inlineCC.ParagraphItems.Add(text)

' Fill the phone no.

cellPara1 = CType(row1.Cells(0).ChildEntities(7), WParagraph)

inlineCC = CType(cellPara1.ChildEntities.LastItem, InlineContentControl)

text = New WTextRange(document1)

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat)

text.Text = "+1 919.481.1974"

inlineCC.ParagraphItems.Add(text)

' Fill the email id.

cellPara1 = CType(row1.Cells(0).ChildEntities(9), WParagraph)

inlineCC = CType(cellPara1.ChildEntities.LastItem, InlineContentControl)

text = New WTextRange(document1)

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat)

text.Text = "steve123@email.com"

inlineCC.ParagraphItems.Add(text)

#End Region

#Region "Educational Information"

table1 = CType(sec.Tables(2), WTable)

row1 = table1.Rows(1)

' Fill the education type.

cellPara1 = CType(row1.Cells(0).ChildEntities(1), WParagraph)

dropDownCC = CType(cellPara1.ChildEntities.LastItem, InlineContentControl)

text = New WTextRange(document1)

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat)

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems(1).DisplayText

dropDownCC.ParagraphItems.Add(text)

' Fill the university.

cellPara1 = CType(row1.Cells(0).ChildEntities(3), WParagraph)

inlineCC = CType(cellPara1.ChildEntities.LastItem, InlineContentControl)

text = New WTextRange(document1)

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat)

text.Text = "Michigan University"

inlineCC.ParagraphItems.Add(text)

' Fill the C# experience level.

cellPara1 = CType(row1.Cells(0).ChildEntities(7), WParagraph)

dropDownCC = CType(cellPara1.ChildEntities.LastItem, InlineContentControl)

text = New WTextRange(document1)

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat)

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems(2).DisplayText

dropDownCC.ParagraphItems.Add(text)

' Fill the VB experience level.

cellPara1 = CType(row1.Cells(0).ChildEntities(9), WParagraph)

dropDownCC = CType(cellPara1.ChildEntities.LastItem, InlineContentControl)

text = New WTextRange(document1)

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat)

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems(1).DisplayText

dropDownCC.ParagraphItems.Add(text)

#End Region

document1.Save("Form_Filled.docx")

document1.Close()
// Open the created form document.

Assembly assembly = typeof(App).GetTypeInfo().Assembly;

WordDocument document1 = new WordDocument(assembly.GetManifestResourceStream("Sample.Assets.Form_Template.docx"), FormatType.Docx);

IWSection sec = document1.LastSection;

InlineContentControl inlineCC;

InlineContentControl dropDownCC;

WTable table1 = sec.Tables[1] as WTable;

WTableRow row1 = table1.Rows[1];

#region General Information

// Fill the name.

WParagraph cellPara1 = row1.Cells[0].ChildEntities[1] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

WTextRange text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "Steve Jobs";

inlineCC.ParagraphItems.Add(text);

// Fill the date of birth.

cellPara1 = row1.Cells[0].ChildEntities[3] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "06/01/1994";

inlineCC.ParagraphItems.Add(text);

// Fill the address.

cellPara1 = row1.Cells[0].ChildEntities[5] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "2501 Aerial Center Parkway.";

inlineCC.ParagraphItems.Add(text);

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "Morrisville, NC 27560.";

inlineCC.ParagraphItems.Add(text);

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "USA.";

inlineCC.ParagraphItems.Add(text);

// Fill the phone no.

cellPara1 = row1.Cells[0].ChildEntities[7] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "+1 919.481.1974";

inlineCC.ParagraphItems.Add(text);

// Fill the email id.

cellPara1 = row1.Cells[0].ChildEntities[9] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "steve123@email.com";

inlineCC.ParagraphItems.Add(text);

#endregion

#region Educational Information

table1 = sec.Tables[2] as WTable;

row1 = table1.Rows[1];

// Fill the education type.

cellPara1 = row1.Cells[0].ChildEntities[1] as WParagraph;

dropDownCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems[1].DisplayText;

dropDownCC.ParagraphItems.Add(text);

// Fill the university.

cellPara1 = row1.Cells[0].ChildEntities[3] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = "Michigan University";

inlineCC.ParagraphItems.Add(text);

// Fill the C# experience level.

cellPara1 = row1.Cells[0].ChildEntities[7] as WParagraph;

dropDownCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems[2].DisplayText;

dropDownCC.ParagraphItems.Add(text);

// Fill the VB experience level.

cellPara1 = row1.Cells[0].ChildEntities[9] as WParagraph;

dropDownCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems[1].DisplayText;

dropDownCC.ParagraphItems.Add(text);

#endregion

//Saves the Word file to MemoryStream

MemoryStream stream = new MemoryStream();

await document1.SaveAsync(stream, FormatType.Docx);

//Saves the stream as Word file in local machine

Save(stream, "Form_Filled.docx");

document1.Close();

// Saves the Word document

async void Save(MemoryStream streams, string filename)

{

	streams.Position = 0;

	StorageFile stFile;

	if (!(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")))

	{

		FileSavePicker savePicker = new FileSavePicker();

		savePicker.DefaultFileExtension = ".docx";

		savePicker.SuggestedFileName = filename;

		savePicker.FileTypeChoices.Add("Word Documents", new List<string>() { ".docx" });

		stFile = await savePicker.PickSaveFileAsync();

	}

	else

	{

		StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;

		stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

	}

	if (stFile != null)

	{

		using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))

		{

			// Write compressed data from memory to file

			using (Stream outstream = zipStream.AsStreamForWrite())

			{

				byte[] buffer = streams.ToArray();

				outstream.Write(buffer, 0, buffer.Length);

				outstream.Flush();

			}

		}

	}

	// Launch the saved Word file

	await Windows.System.Launcher.LaunchFileAsync(stFile);

}
// Open the created form document.

WordDocument document1 = new WordDocument(outputStream, FormatType.Automatic);

IWSection sec = document1.LastSection;

InlineContentControl inlineCC;

InlineContentControl dropDownCC;

WTable table1 = sec.Tables[1] as WTable;

WTableRow row1 = table1.Rows[1];

#region General Information

// Fill the name.

WParagraph cellPara1 = row1.Cells[0].ChildEntities[1] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

WTextRange text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "Steve Jobs";

inlineCC.ParagraphItems.Add(text);

// Fill the date of birth.

cellPara1 = row1.Cells[0].ChildEntities[3] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "06/01/1994";

inlineCC.ParagraphItems.Add(text);

// Fill the address.

cellPara1 = row1.Cells[0].ChildEntities[5] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "2501 Aerial Center Parkway.";

inlineCC.ParagraphItems.Add(text);

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "Morrisville, NC 27560.";

inlineCC.ParagraphItems.Add(text);

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "USA.";

inlineCC.ParagraphItems.Add(text);

// Fill the phone no.

cellPara1 = row1.Cells[0].ChildEntities[7] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "+1 919.481.1974";

inlineCC.ParagraphItems.Add(text);

// Fill the email id.

cellPara1 = row1.Cells[0].ChildEntities[9] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "steve123@email.com";

inlineCC.ParagraphItems.Add(text);

#endregion

#region Educational Information

table1 = sec.Tables[2] as WTable;

row1 = table1.Rows[1];

// Fill the education type.

cellPara1 = row1.Cells[0].ChildEntities[1] as WParagraph;

dropDownCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems[1].DisplayText;

dropDownCC.ParagraphItems.Add(text);

// Fill the university.

cellPara1 = row1.Cells[0].ChildEntities[3] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = "Michigan University";

inlineCC.ParagraphItems.Add(text);

// Fill the C# experience level.

cellPara1 = row1.Cells[0].ChildEntities[7] as WParagraph;

dropDownCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems[2].DisplayText;

dropDownCC.ParagraphItems.Add(text);

// Fill the VB experience level.

cellPara1 = row1.Cells[0].ChildEntities[9] as WParagraph;

dropDownCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems[1].DisplayText;

dropDownCC.ParagraphItems.Add(text);

#endregion

// Creates memory stream.

MemoryStream saveStream = new MemoryStream();

// Saves and closes the Word document instance

document1.Save(saveStream, FormatType.Docx);

document1.Close();
// Open the created form document.

Stream inputStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Form_Template.docx");

WordDocument document1 = new WordDocument(inputStream, FormatType.Automatic);

IWSection sec = document1.LastSection;

InlineContentControl inlineCC;

InlineContentControl dropDownCC;

WTable table1 = sec.Tables[1] as WTable;

WTableRow row1 = table1.Rows[1];

#region General Information

// Fill the name.

WParagraph cellPara1 = row1.Cells[0].ChildEntities[1] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

WTextRange text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "Steve Jobs";

inlineCC.ParagraphItems.Add(text);

// Fill the date of birth.

cellPara1 = row1.Cells[0].ChildEntities[3] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "06/01/1994";

inlineCC.ParagraphItems.Add(text);

// Fill the address.

cellPara1 = row1.Cells[0].ChildEntities[5] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "2501 Aerial Center Parkway.";

inlineCC.ParagraphItems.Add(text);

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "Morrisville, NC 27560.";

inlineCC.ParagraphItems.Add(text);

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "USA.";

inlineCC.ParagraphItems.Add(text);

// Fill the phone no.

cellPara1 = row1.Cells[0].ChildEntities[7] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "+1 919.481.1974";

inlineCC.ParagraphItems.Add(text);

// Fill the email id.

cellPara1 = row1.Cells[0].ChildEntities[9] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(inlineCC.BreakCharacterFormat);

text.Text = "steve123@email.com";

inlineCC.ParagraphItems.Add(text);

#endregion

#region Educational Information

table1 = sec.Tables[2] as WTable;

row1 = table1.Rows[1];

// Fill the education type.

cellPara1 = row1.Cells[0].ChildEntities[1] as WParagraph;

dropDownCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems[1].DisplayText;

dropDownCC.ParagraphItems.Add(text);

// Fill the university.

cellPara1 = row1.Cells[0].ChildEntities[3] as WParagraph;

inlineCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = "Michigan University";

inlineCC.ParagraphItems.Add(text);

// Fill the C# experience level.

cellPara1 = row1.Cells[0].ChildEntities[7] as WParagraph;

dropDownCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems[2].DisplayText;

dropDownCC.ParagraphItems.Add(text);

// Fill the VB experience level.

cellPara1 = row1.Cells[0].ChildEntities[9] as WParagraph;

dropDownCC = cellPara1.ChildEntities.LastItem as InlineContentControl;

text = new WTextRange(document1);

text.ApplyCharacterFormat(dropDownCC.BreakCharacterFormat);

text.Text = dropDownCC.ContentControlProperties.ContentControlListItems[1].DisplayText;

dropDownCC.ParagraphItems.Add(text);

#endregion

// Creates memory stream.

MemoryStream saveStream = new MemoryStream();

// Saves and closes the Word document instance

document1.Save(saveStream, FormatType.Docx);

//Save the stream as a file in the device and invoke it for viewing

Xamarin.Forms.DependencyService.Get<ISave>().SaveAndView("Result.docx", "application/msword", outputStream);

document1.Close();

Data Binding with Content Controls (XML Mapping)

Word allows you to store XML data, named custom XML parts, in a Word document. You can control the display of this data by binding content controls to elements in a custom XML part. When you open the Word document, the content controls display the values of the XML elements. Any changes that you make to the text in the content controls are saved in the custom XML part (two-way data binding). Refer to the following code sample to map custom XML parts to content control.

// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds new section to the document

IWSection section = document.AddSection();

// Adds new paragraph to the section

IWParagraph paragraph = section.AddParagraph();

// Adds new XmlPart to the document.

CustomXMLPart xmlPart = new CustomXMLPart(document);

// Loads the xml code.

xmlPart.LoadXML(@"<books><book><author>Matt Hank</author><title>New Migration Paths of the Red Breasted Robin</title><genre>New non-fiction</genre><price>29.95</price><pub_datee>12/1/2007</pub_datee> <abstract>New You see them in the spring outside your windows.</abstract></book></books>");

// Adds the text

paragraph.AppendText("Book author name : ");

// Adds new content control to the paragraph.

InlineContentControl control = paragraph.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

// Creates the XML mapping on a content control for specified XPath.

control.ContentControlProperties.XmlMapping.SetMapping("/books/book/author", "", xmlPart);

// Selects the single node.

CustomXMLNode node = xmlPart.SelectSingleNode("/books/book/title");

// Adds another paragraph.

paragraph = section.AddParagraph();

// Adds text

paragraph.AppendText("Book title: ");

// Appends content control to second paragraph.

control = paragraph.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

// Creates the XML data mapping on a content control for specified node.

control.ContentControlProperties.XmlMapping.SetMappingByNode(node);

// Saves and closes the Word document instance.

document.Save("Sample.docx", FormatType.Docx);

document.Close();
' Creates a new Word document 

Dim document As WordDocument = New WordDocument

' Adds new section to the document

Dim section As IWSection = document.AddSection

' Adds new paragraph to the section

Dim paragraph As IWParagraph = section.AddParagraph

' Adds new XmlPart to the document.

Dim xmlPart As CustomXMLPart = New CustomXMLPart(document)

' Loads the xml code.

xmlPart.LoadXML("<books><book><author>Matt Hank</author><title>New Migration Paths of the Red Breasted Robin</title><genre>New non-fiction</genre><price>29.95</price><pub_datee>12/1/2007</pub_datee> <abstract>New You see them in the spring outside your windows.</abstract></book></books>")

' Adds text

paragraph.AppendText("Book author name : ")

' Adds new content control to the paragraph.

Dim control As InlineContentControl = CType(paragraph.AppendInlineContentControl(ContentControlType.Text), InlineContentControl)

' Creates the XML mapping on a content control for specified XPath.

control.ContentControlProperties.XmlMapping.SetMapping("/books/book/author", "", xmlPart)

' Selects the single node.

CustomXMLNode node = xmlPart.SelectSingleNode("/books/book/title");

' Adds another paragraph.

paragraph = section.AddParagraph

' Adds text

paragraph.AppendText("Book title: ");

' Appends content control to second paragraph.

control = CType(paragraph.AppendInlineContentControl(ContentControlType.Text), InlineContentControl)

' Creates the XML data mapping on a content control for specified node.

control.ContentControlProperties.XmlMapping.SetMappingByNode(node)

' Saves and closes the Word document instance.

document.Save("Sample.docx", FormatType.Docx)

document.Close()
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds new section to the document

IWSection section = document.AddSection();

// Adds new paragraph to the section

IWParagraph paragraph = section.AddParagraph();

// Adds new XmlPart to the document.

CustomXMLPart xmlPart = new CustomXMLPart(document);

// Loads the xml code.

xmlPart.LoadXML(@"<books><book><author>Matt Hank</author><title>New Migration Paths of the Red Breasted Robin</title><genre>New non-fiction</genre><price>29.95</price><pub_datee>12/1/2007</pub_datee> <abstract>New You see them in the spring outside your windows.</abstract></book></books>");

// Adds the text

paragraph.AppendText("Book author name : ");

// Adds new content control to the paragraph.

InlineContentControl control = paragraph.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

// Creates the XML mapping on a content control for specified XPath.

control.ContentControlProperties.XmlMapping.SetMapping("/books/book/author", "", xmlPart);

// Selects the single node.

CustomXMLNode node = xmlPart.SelectSingleNode("/books/book/title");

// Adds another paragraph.

paragraph = section.AddParagraph();

// Adds text

paragraph.AppendText("Book title: ");

// Appends content control to second paragraph.

control = paragraph.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

// Creates the XML data mapping on a content control for specified node.

control.ContentControlProperties.XmlMapping.SetMappingByNode(node);

//Saves the Word file to MemoryStream

MemoryStream stream = new MemoryStream();

await document.SaveAsync(stream, FormatType.Docx);

//Saves the stream as Word file in local machine

Save(stream, "Sample.docx");

document.Close();

// Saves the Word document

async void Save(MemoryStream streams, string filename)

{

	streams.Position = 0;

	StorageFile stFile;

	if (!(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")))

	{

		FileSavePicker savePicker = new FileSavePicker();

		savePicker.DefaultFileExtension = ".docx";

		savePicker.SuggestedFileName = filename;

		savePicker.FileTypeChoices.Add("Word Documents", new List<string>() { ".docx" });

		stFile = await savePicker.PickSaveFileAsync();

	}

	else

	{

		StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;

		stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

	}

	if (stFile != null)

	{

		using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))

		{

			// Write compressed data from memory to file

			using (Stream outstream = zipStream.AsStreamForWrite())

			{

				byte[] buffer = streams.ToArray();

				outstream.Write(buffer, 0, buffer.Length);

				outstream.Flush();

			}

		}

	}

	// Launch the saved Word file

	await Windows.System.Launcher.LaunchFileAsync(stFile);
}
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds new section to the document

IWSection section = document.AddSection();

// Adds new paragraph to the section

IWParagraph paragraph = section.AddParagraph();

// Adds new XmlPart to the document.

CustomXMLPart xmlPart = new CustomXMLPart(document);

// Loads the xml code.

xmlPart.LoadXML(@"<books><book><author>Matt Hank</author><title>New Migration Paths of the Red Breasted Robin</title><genre>New non-fiction</genre><price>29.95</price><pub_datee>12/1/2007</pub_datee> <abstract>New You see them in the spring outside your windows.</abstract></book></books>");

// Adds text

paragraph.AppendText("Book author name : ");

// Adds new content control to the paragraph.

InlineContentControl control = paragraph.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

// Creates the XML mapping on a content control for specified XPath.

control.ContentControlProperties.XmlMapping.SetMapping("/books/book/author", "", xmlPart);

// Selects the single node.

CustomXMLNode node = xmlPart.SelectSingleNode("/books/book/title");

// Adds another paragraph.

paragraph = section.AddParagraph();

// Adds text

paragraph.AppendText("Book title: ");

// Appends content control to second paragraph.

control = paragraph.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

// Creates the XML data mapping on a content control for specified node.

control.ContentControlProperties.XmlMapping.SetMappingByNode(node);

// Creates memory stream.

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

document.Close();
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds new section to the document

IWSection section = document.AddSection();

// Adds new paragraph to the section

IWParagraph paragraph = section.AddParagraph();

// Adds new XmlPart to the document.

CustomXMLPart xmlPart = new CustomXMLPart(document);

// Loads the xml code.

xmlPart.LoadXML(@"<books><book><author>Matt Hank</author><title>New Migration Paths of the Red Breasted Robin</title><genre>New non-fiction</genre><price>29.95</price><pub_datee>12/1/2007</pub_datee> <abstract>New You see them in the spring outside your windows.</abstract></book></books>");

// Adds new content control to the paragraph.

InlineContentControl control = paragraph.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

// Creates the XML mapping on a content control for specified XPath.

control.ContentControlProperties.XmlMapping.SetMapping("/books/book/author", "", xmlPart);

// Selects the single node.

CustomXMLNode node = xmlPart.SelectSingleNode("/books/book/title");

// Adds another paragraph.

paragraph = section.AddParagraph();

// Adds text

paragraph.AppendText("Book title: ");

// Appends content control to second paragraph.

control = paragraph.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

// Creates the XML data mapping on a content control for specified node.

control.ContentControlProperties.XmlMapping.SetMappingByNode(node);

// Creates memory stream

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

//Save the stream as a file in the device and invoke it for viewing

Xamarin.Forms.DependencyService.Get<ISave>().SaveAndView("Result.docx", "application/msword", outputStream);

document.Close();

Types of Content Controls

The following types of content controls can be created by using the Essential DocIO.

  • Rich Text
  • Plain Text
  • Check Box
  • Date picker
  • Drop-Down List and Combo Box
  • Picture

Rich Text

A rich text content control contains text or other items, such as tables, pictures, or other content controls. The following code illustrates how to add new rich text content control.

// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends rich text content control to the paragraph

InlineContentControl richTextControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Rich text content control.";

// Adds new text to the rich text content control

richTextControl.ParagraphItems.Add(textRange);

WPicture picture = new WPicture(document);

picture.LoadImage(Image.FromFile("Image.png"));

picture.Height = 100;

picture.Width = 100;

// Adds new picture to the rich text content control

richTextControl.ParagraphItems.Add(picture);

// Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx);

document.Close();
' Creates a new Word document 

Dim document As WordDocument = New WordDocument

' Adds one section and one paragraph to the document

document.EnsureMinimal()

' Adds new paragraph to the section

Dim paragraph As WParagraph = document.LastParagraph

' Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ")

' Appends rich text content control to the paragraph

Dim richTextControl As InlineContentControl = CType(paragraph.AppendInlineContentControl(ContentControlType.RichText), InlineContentControl)

Dim textRange As WTextRange = New WTextRange(document)

textRange.Text = "Rich text content control."

' Adds new text to the rich text content control

richTextControl.ParagraphItems.Add(textRange)

Dim picture As WPicture = New WPicture(document)

picture.LoadImage(Image.FromFile("Image.png"))

picture.Height = 100

picture.Width = 100

' Adds new picture to the rich text content control

richTextControl.ParagraphItems.Add(picture)

' Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx)

document.Close()
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends rich text content control to the paragraph

InlineContentControl richTextControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Rich text content control.";

// Adds new text to the rich text content control

richTextControl.ParagraphItems.Add(textRange);

WPicture picture = new WPicture(document);

Assembly assembly = typeof(App).GetTypeInfo().Assembly;

Stream pictureStream = assembly.GetManifestResourceStream("Sample.Assets.Image.png");

picture.LoadImage(pictureStream);

picture.Height = 100;

picture.Width = 100;

// Adds new picture to the rich text content control

richTextControl.ParagraphItems.Add(picture);

//Saves the Word file to MemoryStream

MemoryStream stream = new MemoryStream();

await document.SaveAsync(stream, FormatType.Docx);

//Saves the stream as Word file in local machine

Save(stream, "Sample.docx");

document.Close();

// Saves the Word document

async void Save(MemoryStream streams, string filename)

{

	streams.Position = 0;

	StorageFile stFile;

	if (!(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")))

	{

		FileSavePicker savePicker = new FileSavePicker();

		savePicker.DefaultFileExtension = ".docx";

		savePicker.SuggestedFileName = filename;

		savePicker.FileTypeChoices.Add("Word Documents", new List<string>() { ".docx" });

		stFile = await savePicker.PickSaveFileAsync();

	}

	else

	{

		StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;

		stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

	}

	if (stFile != null)

	{

		using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))

		{

			// Write compressed data from memory to file

			using (Stream outstream = zipStream.AsStreamForWrite())

			{

				byte[] buffer = streams.ToArray();

				outstream.Write(buffer, 0, buffer.Length);

				outstream.Flush();

			}

		}

	}

	// Launch the saved Word file

	await Windows.System.Launcher.LaunchFileAsync(stFile);

}
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends rich text content control to the paragraph

InlineContentControl richTextControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Rich text content control.";

// Adds new text to the rich text content control

richTextControl.ParagraphItems.Add(textRange);

WPicture picture = new WPicture(document);

Stream imageStream = new FileStream(@"D:\Image.png", FileMode.Open, FileAccess.Read);

// Adds image from stream.

picture.LoadImage(imageStream);

picture.Height = 100;

picture.Width = 100;

// Adds new picture to the rich text content control

richTextControl.ParagraphItems.Add(picture);

// Creates memory stream.

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

document.Close();
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends rich text content control to the paragraph

InlineContentControl richTextControl = paragraph.AppendInlineContentControl(ContentControlType.RichText) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Rich text content control.";

// Adds new text to the rich text content control

richTextControl.ParagraphItems.Add(textRange);

WPicture picture = new WPicture(document);

Stream imageStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Image.png");

// Adds image from stream.

picture.LoadImage(imageStream);

picture.Height = 100;

picture.Width = 100;

// Adds new picture to the rich text content control

richTextControl.ParagraphItems.Add(picture);

// Creates memory stream

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

//Save the stream as a file in the device and invoke it for viewing

Xamarin.Forms.DependencyService.Get<ISave>().SaveAndView("Result.docx", "application/msword", outputStream);

document.Close();

Plain Text

A plain text content control contains text and cannot contain other items, such as tables, pictures, or other content controls. Refer to the following code to add plain text content control.

// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends plain text content control to the paragraph

InlineContentControl plainTextControl = paragraph.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Plain text content control.";

// Adds new text to the plain text content control

plainTextControl.ParagraphItems.Add(textRange);

// Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx);

document.Close();
' Creates a new Word document 

Dim document As WordDocument = New WordDocument

' Adds one section and one paragraph to the document

document.EnsureMinimal()

' Adds new paragraph to the section

Dim paragraph As WParagraph = document.LastParagraph

' Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ")

' Appends plain text content control to the paragraph

Dim plainTextControl As InlineContentControl = CType(paragraph.AppendInlineContentControl(ContentControlType.Text), InlineContentControl)

Dim textRange As WTextRange = New WTextRange(document)

textRange.Text = "Plain text content control."

' Adds new text to the plain text content control

plainTextControl.ParagraphItems.Add(textRange)

' Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx)

document.Close()
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends plain text content control to the paragraph

InlineContentControl plainTextControl = paragraph.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Plain text content control.";

// Adds new text to the plain text content control

plainTextControl.ParagraphItems.Add(textRange);

//Saves the Word file to MemoryStream

MemoryStream stream = new MemoryStream();

await document.SaveAsync(stream, FormatType.Docx);

//Saves the stream as Word file in local machine

Save(stream, "Sample.docx");

document.Close();

// Saves the Word document

async void Save(MemoryStream streams, string filename)

{

	streams.Position = 0;

	StorageFile stFile;

	if (!(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")))

	{

		FileSavePicker savePicker = new FileSavePicker();

		savePicker.DefaultFileExtension = ".docx";

		savePicker.SuggestedFileName = filename;

		savePicker.FileTypeChoices.Add("Word Documents", new List<string>() { ".docx" });

		stFile = await savePicker.PickSaveFileAsync();

	}

	else

	{

		StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;

		stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

	}

	if (stFile != null)

	{

		using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))

		{

			// Write compressed data from memory to file

			using (Stream outstream = zipStream.AsStreamForWrite())

			{

				byte[] buffer = streams.ToArray();

				outstream.Write(buffer, 0, buffer.Length);

				outstream.Flush();

			}

		}

	}

	// Launch the saved Word file

	await Windows.System.Launcher.LaunchFileAsync(stFile);

}
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends plain text content control to the paragraph

InlineContentControl plainTextControl = paragraph.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Plain text content control.";

// Adds new text to the plain text content control

plainTextControl.ParagraphItems.Add(textRange);

// Creates memory stream.

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

document.Close();
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends plain text content control to the paragraph

InlineContentControl plainTextControl = paragraph.AppendInlineContentControl(ContentControlType.Text) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

textRange.Text = "Plain text content control.";

// Adds new text to the plain text content control

plainTextControl.ParagraphItems.Add(textRange);

// Creates memory stream

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

//Save the stream as a file in the device and invoke it for viewing

Xamarin.Forms.DependencyService.Get<ISave>().SaveAndView("Result.docx", "application/msword", outputStream);

document.Close();

Check Box

A check box content control provides a UI that represents a binary state: checked or unchecked. Default state for check box is unchecked. Refer to the following code to add check box content control.

// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends checkbox content control to the paragraph

InlineContentControl checkBox = paragraph.AppendInlineContentControl(ContentControlType.CheckBox) as InlineContentControl;

checkBox.ContentControlProperties.IsChecked = true;

// Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx);

document.Close();
' Creates a new Word document 

Dim document As WordDocument = New WordDocument

' Adds one section and one paragraph to the document

document.EnsureMinimal()

' Adds new paragraph to the section

Dim paragraph As WParagraph = document.LastParagraph

' Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ")

' Appends checkbox content control to the paragraph

Dim checkBox As InlineContentControl = CType(paragraph.AppendInlineContentControl(ContentControlType. CheckBox), InlineContentControl)

checkBox.ContentControlProperties.IsChecked = True 

' Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx)

document.Close()
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends checkbox content control to the paragraph

InlineContentControl checkBox = paragraph.AppendInlineContentControl(ContentControlType.CheckBox) as InlineContentControl;

checkBox.ContentControlProperties.IsChecked = true;

//Saves the Word file to MemoryStream

MemoryStream stream = new MemoryStream();

await document.SaveAsync(stream, FormatType.Docx);

//Saves the stream as Word file in local machine

Save(stream, "Sample.docx");

document.Close();

// Saves the Word document

async void Save(MemoryStream streams, string filename)

{

	streams.Position = 0;

	StorageFile stFile;

	if (!(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")))

	{

		FileSavePicker savePicker = new FileSavePicker();

		savePicker.DefaultFileExtension = ".docx";

		savePicker.SuggestedFileName = filename;

		savePicker.FileTypeChoices.Add("Word Documents", new List<string>() { ".docx" });

		stFile = await savePicker.PickSaveFileAsync();

	}

	else

	{

		StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;

		stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

	}

	if (stFile != null)

	{

		using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))

		{

			// Write compressed data from memory to file

			using (Stream outstream = zipStream.AsStreamForWrite())

			{

				byte[] buffer = streams.ToArray();

				outstream.Write(buffer, 0, buffer.Length);

				outstream.Flush();

			}

		}

	}

	// Launch the saved Word file

	await Windows.System.Launcher.LaunchFileAsync(stFile);

}
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends picture content control to the paragraph

InlineContentControl checkBox = paragraph.AppendInlineContentControl(ContentControlType.CheckBox) as InlineContentControl;

checkBox.ContentControlProperties.IsChecked = true;

// Creates memory stream.

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

document.Close();
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends picture content control to the paragraph

InlineContentControl checkBox = paragraph.AppendInlineContentControl(ContentControlType.CheckBox) as InlineContentControl;

checkBox.ContentControlProperties.IsChecked = true;

// Creates memory stream

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

//Save the stream as a file in the device and invoke it for viewing

Xamarin.Forms.DependencyService.Get<ISave>().SaveAndView("Result.docx", "application/msword", outputStream);

document.Close();

Date picker

A date picker content control provides a calendar UI for selecting a date. The calendar appears when you click the drop-down arrow in the content control. You can use regional calendars and different date formats. Refer to the following code to add date picker content control.

// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("Select Date: ");

// Appends date picker content control to the paragraph

InlineContentControl datePicker = paragraph.AppendInlineContentControl(ContentControlType.Date) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

// Sets today's date to display

textRange.Text = DateTime.Now.ToShortDateString();

datePicker.ParagraphItems.Add(textRange);

// Sets calendar type for the date picker content control

datePicker.ContentControlProperties.DateCalendarType = CalendarType.Gregorian;

// Sets the format for date to display

datePicker.ContentControlProperties.DateDisplayFormat = "M/d/yyyy";

// Sets the language format for the date

datePicker.ContentControlProperties.DateDisplayLocale = LocaleIDs.en_US;

// Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx);

document.Close();
' Creates a new Word document 

Dim document As WordDocument = New WordDocument

' Adds one section and one paragraph to the document

document.EnsureMinimal()

' Adds new paragraph to the section

Dim paragraph As WParagraph = document.LastParagraph

' Adds text to the paragraph

paragraph.AppendText("Select Date: ")

' Appends date picker content control to the paragraph

Dim datePicker As InlineContentControl = CType(paragraph.AppendInlineContentControl(ContentControlType.Date), InlineContentControl)

Dim textRange As WTextRange = New WTextRange(document)

' Sets today's date to display

textRange.Text = DateTime.Now.ToShortDateString

datePicker.ParagraphItems.Add(textRange)

' Sets calendar type for the date picker content control

datePicker.ContentControlProperties.DateCalendarType = CalendarType.Gregorian

' Sets the format for date to display

datePicker.ContentControlProperties.DateDisplayFormat = "M/d/yyyy"

' Sets the language format for the date

datePicker.ContentControlProperties.DateDisplayLocale = LocaleIDs.en_US

' Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx)

document.Close()
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("Select Date: ");

// Appends date picker content control to the paragraph

InlineContentControl datePicker = paragraph.AppendInlineContentControl(ContentControlType.Date) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

// Sets today's date to display

textRange.Text = DateTime.Now.ToShortDateString();

datePicker.ParagraphItems.Add(textRange);

// Sets calendar type for the date picker content control

datePicker.ContentControlProperties.DateCalendarType = CalendarType.Gregorian;

// Sets the format for date to display

datePicker.ContentControlProperties.DateDisplayFormat = "M/d/yyyy";

// Sets the language format for the date

datePicker.ContentControlProperties.DateDisplayLocale = LocaleIDs.en_US;

//Saves the Word file to MemoryStream

MemoryStream stream = new MemoryStream();

await document.SaveAsync(stream, FormatType.Docx);

//Saves the stream as Word file in local machine

Save(stream, "Sample.docx");

document.Close();

// Saves the Word document

async void Save(MemoryStream streams, string filename)

{

	streams.Position = 0;

	StorageFile stFile;

	if (!(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")))

	{

		FileSavePicker savePicker = new FileSavePicker();

		savePicker.DefaultFileExtension = ".docx";

		savePicker.SuggestedFileName = filename;

		savePicker.FileTypeChoices.Add("Word Documents", new List<string>() { ".docx" });

		stFile = await savePicker.PickSaveFileAsync();

	}

	else

	{

		StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;

		stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

	}

	if (stFile != null)

	{

		using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))

		{

			// Write compressed data from memory to file

			using (Stream outstream = zipStream.AsStreamForWrite())

			{

				byte[] buffer = streams.ToArray();

				outstream.Write(buffer, 0, buffer.Length);

				outstream.Flush();

			}

		}

	}

	// Launch the saved Word file

	await Windows.System.Launcher.LaunchFileAsync(stFile);

}
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("Select Date: ");

// Appends date picker content control to the paragraph

InlineContentControl datePicker = paragraph.AppendInlineContentControl(ContentControlType.Date) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

// Sets today's date to display

textRange.Text = DateTime.Now.ToString();

datePicker.ParagraphItems.Add(textRange);

// Sets calendar type for the date picker content control

datePicker.ContentControlProperties.DateCalendarType = CalendarType.Gregorian;

// Sets the format for date to display

datePicker.ContentControlProperties.DateDisplayFormat = "M/d/yyyy";

// Sets the language format for the date

datePicker.ContentControlProperties.DateDisplayLocale = LocaleIDs.en_US;

// Creates memory stream.

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

document.Close();
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("Select Date: ");

// Appends date picker content control to the paragraph

InlineContentControl datePicker = paragraph.AppendInlineContentControl(ContentControlType.Date) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

// Sets today's date to display

textRange.Text = DateTime.Now.ToString();

datePicker.ParagraphItems.Add(textRange);

// Sets calendar type for the date picker content control

datePicker.ContentControlProperties.DateCalendarType = CalendarType.Gregorian;

// Sets the format for date to display

datePicker.ContentControlProperties.DateDisplayFormat = "M/d/yyyy";

// Sets the language format for the date

datePicker.ContentControlProperties.DateDisplayLocale = LocaleIDs.en_US;

// Creates memory stream

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

//Save the stream as a file in the device and invoke it for viewing

Xamarin.Forms.DependencyService.Get<ISave>().SaveAndView("Result.docx", "application/msword", outputStream);

document.Close();

A drop-down list content control and combo box content control displays a list of items you can select. Unlike a drop-down list, the combo box allows to add your own items. Refer to the following code to add drop-down list and combo box content controls.

// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds new section to the document

IWSection section = document.AddSection();

// Adds new paragraph to the section

WParagraph paragraph = section.AddParagraph() as WParagraph;

// Appends dropdown list content control to the paragraph

InlineContentControl dropdown = paragraph.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

// Sets default option to display  

textRange.Text = "Choose an item from drop down list";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

ContentControlListItem item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "ASP.NET MVC";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Windows Forms";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "WPF";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

// Adds new paragraph to the section

paragraph = section.AddParagraph() as WParagraph;

// Appends combo box content control to the paragraph

InlineContentControl comboBox = paragraph.AppendInlineContentControl(ContentControlType.ComboBox) as InlineContentControl;

textRange = new WTextRange(document);

// Sets default option to display  

textRange.Text = "Choose an item from combo box";

comboBox.ParagraphItems.Add(textRange);

// Creates an item for combo box

item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Word to HTML";

// Sets the value to the list item

item.Value = "1";

comboBox.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Word to Image";

item.Value = "2";

comboBox.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Word to PDF";

item.Value = "3";

comboBox.ContentControlProperties.ContentControlListItems.Add(item);

// Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx);

document.Close();
' Creates a new Word document 

Dim document As WordDocument = New WordDocument

' Adds new section to the document

Dim section As IWSection = document.AddSection

' Adds new paragraph to the section

Dim paragraph As WParagraph = CType(section.AddParagraph, WParagraph)

' Appends dropdown list content control to the paragraph

Dim dropdown As InlineContentControl = CType(paragraph.AppendInlineContentControl(ContentControlType.DropDownList), InlineContentControl)

Dim textRange As WTextRange = New WTextRange(document)

' Sets default option to display  

textRange.Text = "Choose an item from drop down list"

dropdown.ParagraphItems.Add(textRange)

' Creates an item for dropdown list

Dim item As ContentControlListItem = New ContentControlListItem

' Sets the text to be displayed as list item

item.DisplayText = "ASP.NET MVC"

' Sets the value to the list item

item.Value = "1"

' Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item)

item = New ContentControlListItem

item.DisplayText = "Windows Forms"

item.Value = "2"

dropdown.ContentControlProperties.ContentControlListItems.Add(item)

item = New ContentControlListItem

item.DisplayText = "WPF"

item.Value = "3"

dropdown.ContentControlProperties.ContentControlListItems.Add(item)

' Adds new paragraph to the section

paragraph = CType(section.AddParagraph, WParagraph)

' Appends combo box content control to the paragraph

Dim comboBox As InlineContentControl = CType(paragraph.AppendInlineContentControl(ContentControlType.ComboBox), InlineContentControl)

textRange = New WTextRange(document)

' Sets default option to display  

textRange.Text = "Choose an item from combo box"

comboBox.ParagraphItems.Add(textRange)

' Creates an item for combo box

item = New ContentControlListItem

' Sets the text to be displayed as list item

item.DisplayText = "Word to HTML"

' Sets the value to the list item

item.Value = "1"

comboBox.ContentControlProperties.ContentControlListItems.Add(item)

item = New ContentControlListItem

item.DisplayText = "Word to Image"

item.Value = "2"

comboBox.ContentControlProperties.ContentControlListItems.Add(item)

item = New ContentControlListItem

item.DisplayText = "Word to PDF"

item.Value = "3"

comboBox.ContentControlProperties.ContentControlListItems.Add(item)

' Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx)

document.Close()
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds new section to the document

IWSection section = document.AddSection();

// Adds new paragraph to the section

WParagraph paragraph = section.AddParagraph() as WParagraph;

// Appends dropdown list content control to the paragraph

InlineContentControl dropdown = paragraph.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

// Sets default option to display  

textRange.Text = "Choose an item from drop down list";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

ContentControlListItem item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "ASP.NET MVC";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Windows Forms";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "WPF";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

// Adds new paragraph to the section

paragraph = section.AddParagraph() as WParagraph;

// Appends combo box content control to the paragraph

InlineContentControl comboBox = paragraph.AppendInlineContentControl(ContentControlType.ComboBox) as InlineContentControl;

textRange = new WTextRange(document);

// Sets default option to display  

textRange.Text = "Choose an item from combo box";

comboBox.ParagraphItems.Add(textRange);

// Creates an item for combo box

item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Word to HTML";

// Sets the value to the list item

item.Value = "1";

comboBox.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Word to Image";

item.Value = "2";

comboBox.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Word to PDF";

item.Value = "3";

comboBox.ContentControlProperties.ContentControlListItems.Add(item);

//Saves the Word file to MemoryStream

MemoryStream stream = new MemoryStream();

await document.SaveAsync(stream, FormatType.Docx);

//Saves the stream as Word file in local machine

Save(stream, "Sample.docx");

document.Close();

// Saves the Word document

async void Save(MemoryStream streams, string filename)

{

	streams.Position = 0;

	StorageFile stFile;

	if (!(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")))

	{

		FileSavePicker savePicker = new FileSavePicker();

		savePicker.DefaultFileExtension = ".docx";

		savePicker.SuggestedFileName = filename;

		savePicker.FileTypeChoices.Add("Word Documents", new List<string>() { ".docx" });

		stFile = await savePicker.PickSaveFileAsync();

	}

	else

	{

		StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;

		stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

	}

	if (stFile != null)

	{

		using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))

		{

			// Write compressed data from memory to file

			using (Stream outstream = zipStream.AsStreamForWrite())

			{

				byte[] buffer = streams.ToArray();

				outstream.Write(buffer, 0, buffer.Length);

				outstream.Flush();

			}

		}

	}

	// Launch the saved Word file

	await Windows.System.Launcher.LaunchFileAsync(stFile);

}
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds new section to the document

IWSection section = document.AddSection();

// Adds new paragraph to the section

WParagraph paragraph = section.AddParagraph() as WParagraph;

// Adds text to the paragraph

paragraph.AppendText("Choose your platform: ");

// Appends dropdown list content control to the paragraph

InlineContentControl dropdown = paragraph.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

// Sets default option to display  

textRange.Text = "Choose an item";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

ContentControlListItem item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "ASP.NET MVC";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Windows Forms";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "WPF";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

// Adds new paragraph to the section

paragraph = section.AddParagraph() as WParagraph;

// Adds text to the paragraph

paragraph.AppendText("Choose the conversion: ");

// Appends combo box content control to the paragraph

InlineContentControl comboBox = paragraph.AppendInlineContentControl(ContentControlType.ComboBox) as InlineContentControl;

textRange = new WTextRange(document);

// Sets default option to display  

textRange.Text = "Choose an item";

comboBox.ParagraphItems.Add(textRange);

// Creates an item for combo box

item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Word to HTML";

// Sets the value to the list item

item.Value = "1";

comboBox.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Word to Image";

item.Value = "2";

comboBox.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Word to PDF";

item.Value = "3";

comboBox.ContentControlProperties.ContentControlListItems.Add(item);

// Creates memory stream.

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

document.Close();
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds new section to the document

IWSection section = document.AddSection();

// Adds new paragraph to the section

WParagraph paragraph = section.AddParagraph() as WParagraph;

// Adds text to the paragraph

paragraph.AppendText("Choose your platform: ");

// Appends dropdown list content control to the paragraph

InlineContentControl dropdown = paragraph.AppendInlineContentControl(ContentControlType.DropDownList) as InlineContentControl;

WTextRange textRange = new WTextRange(document);

// Sets default option to display  

textRange.Text = "Choose an item";

dropdown.ParagraphItems.Add(textRange);

// Creates an item for dropdown list

ContentControlListItem item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "ASP.NET MVC";

// Sets the value to the list item

item.Value = "1";

// Adds item to the dropdown list

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Windows Forms";

item.Value = "2";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "WPF";

item.Value = "3";

dropdown.ContentControlProperties.ContentControlListItems.Add(item);

// Adds new paragraph to the section

paragraph = section.AddParagraph() as WParagraph;

// Adds text to the paragraph

paragraph.AppendText("Choose the conversion: ");

// Appends combo box content control to the paragraph

InlineContentControl comboBox = paragraph.AppendInlineContentControl(ContentControlType.ComboBox) as InlineContentControl;

textRange = new WTextRange(document);

// Sets default option to display  

textRange.Text = "Choose an item";

comboBox.ParagraphItems.Add(textRange);

// Creates an item for combo box

item = new ContentControlListItem();

// Sets the text to be displayed as list item

item.DisplayText = "Word to HTML";

// Sets the value to the list item

item.Value = "1";

comboBox.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Word to Image";

item.Value = "2";

comboBox.ContentControlProperties.ContentControlListItems.Add(item);

item = new ContentControlListItem();

item.DisplayText = "Word to PDF";

item.Value = "3";

comboBox.ContentControlProperties.ContentControlListItems.Add(item);

// Creates memory stream

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

//Save the stream as a file in the device and invoke it for viewing

Xamarin.Forms.DependencyService.Get<ISave>().SaveAndView("Result.docx", "application/msword", outputStream);

document.Close();

Picture

A picture content control displays an image. Refer to the following code to add new picture content control.

// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends picture content control to the paragraph

InlineContentControl pictureContentControl = paragraph.AppendInlineContentControl(ContentControlType.Picture) as InlineContentControl;

// Creates a new image instance and load image 

WPicture picture = new WPicture(document);

picture.LoadImage(Image.FromFile("Image.png"));

// Adds picture to the picture content control

pictureContentControl.ParagraphItems.Add(picture);

// Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx);

document.Close();
' Creates a new Word document 

Dim document As WordDocument = New WordDocument

' Adds one section and one paragraph to the document

document.EnsureMinimal()

' Adds new paragraph to the section

Dim paragraph As WParagraph = document.LastParagraph

' Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ")

' Appends picture content control to the paragraph

Dim pictureContentControl As InlineContentControl = CType(paragraph.AppendInlineContentControl(ContentControlType.Picture), InlineContentControl)

' Creates a new image instance and load image 

Dim picture As WPicture = New WPicture(document)

picture.LoadImage(Image.FromFile("Image.png"))

' Adds picture to the picture content control

pictureContentControl.ParagraphItems.Add(picture)

' Saves and closes the Word document instance

document.Save("Sample.docx", FormatType.Docx)

document.Close()
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends picture content control to the paragraph

InlineContentControl pictureContentControl = paragraph.AppendInlineContentControl(ContentControlType.Picture) as InlineContentControl;

// Creates a new image instance and load image 

WPicture picture = new WPicture(document);

Assembly assembly = typeof(App).GetTypeInfo().Assembly;

Stream pictureStream = assembly.GetManifestResourceStream("Sample.Assets.Image.png");

picture.LoadImage(pictureStream);

// Adds picture to the picture content control

pictureContentControl.ParagraphItems.Add(picture);

//Saves the Word file to MemoryStream

MemoryStream stream = new MemoryStream();

await document.SaveAsync(stream, FormatType.Docx);

//Saves the stream as Word file in local machine

Save(stream, "Sample.docx");

document.Close();

// Saves the Word document

async void Save(MemoryStream streams, string filename)

{

	streams.Position = 0;

	StorageFile stFile;

	if (!(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")))

	{

		FileSavePicker savePicker = new FileSavePicker();

		savePicker.DefaultFileExtension = ".docx";

		savePicker.SuggestedFileName = filename;

		savePicker.FileTypeChoices.Add("Word Documents", new List<string>() { ".docx" });

		stFile = await savePicker.PickSaveFileAsync();

	}

	else

	{

		StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;

		stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

	}

	if (stFile != null)

	{

		using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))

		{

			// Write compressed data from memory to file

			using (Stream outstream = zipStream.AsStreamForWrite())

			{

				byte[] buffer = streams.ToArray();

				outstream.Write(buffer, 0, buffer.Length);

				outstream.Flush();

			}

		}

	}

	// Launch the saved Word file

	await Windows.System.Launcher.LaunchFileAsync(stFile);

}
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends picture content control to the paragraph

InlineContentControl pictureContentControl = paragraph.AppendInlineContentControl(ContentControlType.Picture) as InlineContentControl;

// Creates a new image instance and load image 

WPicture picture = new WPicture(document);

Stream imageStream = new FileStream(@"D:\Image.png", FileMode.Open, FileAccess.Read);

// Adds image from stream.

picture.LoadImage(imageStream);

// Adds picture to the picture content control

pictureContentControl.ParagraphItems.Add(picture);

// Creates memory stream.

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

document.Close();
// Creates a new Word document 

WordDocument document = new WordDocument();

// Adds one section and one paragraph to the document

document.EnsureMinimal();

// Gets the last paragraph.

WParagraph paragraph = document.LastParagraph;

// Adds text to the paragraph

paragraph.AppendText("A new text is added to the paragraph. ");

// Appends picture content control to the paragraph

InlineContentControl pictureContentControl = paragraph.AppendInlineContentControl(ContentControlType.Picture) as InlineContentControl;

// Creates a new image instance and load image 

WPicture picture = new WPicture(document);

Stream imageStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Image.png");

// Adds image from stream.

picture.LoadImage(imageStream);

// Adds picture to the picture content control

pictureContentControl.ParagraphItems.Add(picture);

// Creates memory stream

MemoryStream outputStream = new MemoryStream();

// Saves and closes the Word document instance

document.Save(outputStream, FormatType.Docx);

//Save the stream as a file in the device and invoke it for viewing

Xamarin.Forms.DependencyService.Get<ISave>().SaveAndView("Result.docx", "application/msword", outputStream);

document.Close();

NOTE

In the above-mentioned code samples, for Xamarin platforms the document is saved as stream only. To save the stream to file kindly refer code sample here.