How to resize list character in a Word document?
Syncfusion® Essential® DocIO is a .NET Core Word library used to create, read, and edit Word documents programmatically without Microsoft Word or Interop dependencies. Using this library, you can resize list characters in a Word document in C#.
Steps to resize list characters in a Word document:
- Create a new C# .NET Core console application project.
- Install the Syncfusion.DocIO.Net.Core NuGet package to reference your .NET Core applications from NuGet.org.
- Include the following namespace in the Program.cs file:
C#
using Syncfusion.DocIO; using Syncfusion.DocIO.DLS;
- Use the following code example to resize list characters in a Word document.
C#
using (FileStream fileStream = new FileStream(Path.GetFullPath(@"../../../Template.docx"), FileMode.Open, FileAccess.ReadWrite)) { // Open the template document. using (WordDocument document = new WordDocument(fileStreamPath, FormatType.Automatic)) { // Iterate through each section of the Word document. foreach (WSection section in document.Sections) { // Access the body of the section where all the contents in the document are located. WTextBody sectionBody = section.Body; IterateTextBody(sectionBody); IterateHeaderFooter(section); } // Create a file stream. using (FileStream outputStream = new FileStream(Path.GetFullPath(@"../../../Result.docx"), FileMode.Create, FileAccess.ReadWrite)) { // Save the Word document to the file stream. document.Save(outputStream, FormatType.Docx); } } }
- Use the following helper methods to resize list characters in a Word document.
C#
/// <summary> /// Iterate through the headers and footers. /// </summary> private static void IterateHeaderFooter(WSection section) { WHeadersFooters headersFooters = section.HeadersFooters; // Iterate through the text body of all headers and footers. IterateTextBody(headersFooters.OddHeader); IterateTextBody(headersFooters.OddFooter); IterateTextBody(headersFooters.EvenHeader); IterateTextBody(headersFooters.EvenFooter); IterateTextBody(headersFooters.FirstPageHeader); IterateTextBody(headersFooters.FirstPageFooter); } /// <summary> /// Iterate through the document text body. /// </summary> private static void IterateTextBody(WTextBody textBody) { // Iterate through each of the child items of WTextBody. for (int i = 0; i < textBody.ChildEntities.Count; i++) { // Access the body items (should be either paragraph, table, or block content control) as IEntity. IEntity bodyItemEntity = textBody.ChildEntities[i]; // Decide the element type by using the EntityType. switch (bodyItemEntity.EntityType) { case EntityType.Paragraph: WParagraph paragraph = bodyItemEntity as WParagraph; // Change the list character size. if (paragraph.ListFormat != null && paragraph.ListFormat.CurrentListLevel != null) paragraph.ListFormat.CurrentListLevel.CharacterFormat.FontSize = 25; break; case EntityType.Table: // Iterate through the table. IterateTable(bodyItemEntity as WTable); break; case EntityType.BlockContentControl: BlockContentControl blockContentControl = bodyItemEntity as BlockContentControl; // Iterate the body items of the Block Content Control. IterateTextBody(blockContentControl.TextBody); break; } } } /// <summary> /// Iterate through the document table. /// </summary> private static void IterateTable(WTable table) { // Iterate through the row collection in a table. foreach (WTableRow row in table.Rows) { // Iterate through the cell collection in a table row. foreach (WTableCell cell in row.Cells) { IterateTextBody(cell); } } }
A complete working sample to resize list characters in a Word document in C# can be downloaded from GitHub.
By executing the program, you will get the output document as follows:
Take a moment to peruse the documentation, where you can find basic Word document processing options along with features like mail merge, merge and split documents, find and replace text in the Word document, protect the Word documents, and most importantly, the PDF and Image conversions with code examples.
Explore more about the rich set of Syncfusion® Word Framework features.
See Also:
How to create deep-level numbering (1.1-1.2.1-1.2.2 etc.) using DocIO?
How to change the character/symbol used for bullet points in a Word document?