как изменить направление и выравнивание абзаца на rtl с помощью aspsoe.word для С#.Net

Я меняю выравнивание абзаца на выравнивание по правому краю, но когда я меняю направление абзаца справа налево (на builder.ParagraphFormat.Bidi= true), мое выравнивание меняется на выравнивание по левому краю.

builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;
builder.Font.Bidi=true;
builder.Font.LocaleIdBi = 1025;
builder.ParagraphFormat.Bidi= true;

person Aref Zamani    schedule 29.11.2017    source источник


Ответы (3)


я изменил

builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;

to

builder.ParagraphFormat.Alignment = ParagraphAlignment.Left

и работал.

person Aref Zamani    schedule 29.11.2017

Попробуйте переместить выравнивание после оператора Bidi?

person netniV    schedule 29.11.2017

Попробуйте использовать следующий код:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Signal to Microsoft Word that this run of text contains right-to-left text.
builder.Font.Bidi = true;
builder.CurrentParagraph.ParagraphFormat.Bidi = true;

builder.Font.LocaleIdBi = 1025;

// Insert some Arabic text.
builder.Writeln("هذا كتاب.");

doc.Save("D:\\Temp\\17.11.docx");

Я работаю с Aspose в качестве разработчика-евангелиста.

person Awais Hafeez    schedule 30.11.2017