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);
}
}
}