We can use the TextDirection enumeration in Spire.Doc.Documents namespace to set the direction of text in a word document. This enumeration contains six members: LeftToRight, TopToBottom, LeftToRightRotated, TopToBottomRotated, RightToLeft and RightToLeftRotated. The following example shows how to set text direction for all text and a part of text in a section.
Detail steps:
Step 1: Initialize a new instance of Document class and load the word document.
Document document = new Document(); document.LoadFromFile("Word.docx");
Step 2: Set text direction for all text in a section.
//Get the first section and set its text direction Section section = document.Sections[0]; section.TextDirection = TextDirection.RightToLeftRotated;
To set text direction for a part of text, we can put the text in a table and then set text direction, as shown in the following step:
Step 3: Add a new section to the document and a table to the section, get the target table cell and set text direction for it, afterwards append text to the cell.
//Add a new section to the document Section sec = document.AddSection(); //Add a table to the new section Table table = sec.AddTable(); //Add one row and one column to the table table.ResetCells(1, 1); //Get the table cell TableCell cell = table.Rows[0].Cells[0]; table.Rows[0].Height = 150; table.Rows[0].Cells[0].Width = 10; //Set text direction for the cell and append some text cell.CellFormat.TextDirection = TextDirection.RightToLeftRotated; cell.AddParagraph().AppendText("Hello,world: vertical style");
Add a new paragraph to check if above settings will affect the text direction of other text in this section:
sec.AddParagraph().AppendText("New Paragraph");
Step 4: Save the document.
document.SaveToFile("result.docx", FileFormat.Docx);
Result:
Set text direction for all text in a section:
Set text direction for a part of text:
Full codes:
using Spire.Doc; using Spire.Doc.Documents; namespace Set_text_direction_in_Word { class Program { static void Main(string[] args) { Document document = new Document(); document.LoadFromFile("Word.docx"); //Set text direction for all text in a section Section section = document.Sections[0]; section.TextDirection = TextDirection.RightToLeftRotated; // Set text direction for a part of text Section sec = document.AddSection(); Table table = sec.AddTable(); table.ResetCells(1, 1); TableCell cell = table.Rows[0].Cells[0]; table.Rows[0].Height = 150; table.Rows[0].Cells[0].Width = 10; cell.CellFormat.TextDirection = TextDirection.RightToLeftRotated; cell.AddParagraph().AppendText("Hello,world: vertical style"); sec.AddParagraph().AppendText("New Paragraph"); //Save the document document.SaveToFile("result.docx", FileFormat.Docx); } } }