2016-11-02 2 views
0

Я использую абзац внутри TextFrame, чтобы получить ориентацию текста вверх, это работает почти так, как мне бы хотелось, последний вопрос, который у меня есть, - это текст, кажется, влево, я попытался установить выравнивание Параграфа в центр, это не повлияло и не может увидеть вариант сделать это с помощью TextFrame. Выведенный текст не будет повторяться каждый раз.MigraDoc/PDFSharp TextFrame Center Align

Это то, что я в настоящее время

enter image description here

Это то, что я хочу для того чтобы достигнуть

enter image description here

Ниже приведен код, я использую для того чтобы достигнуть этого, используя MigraDoc

for (int i = 0; i < section2Items.Length; i++) 
{ 
    TextFrame colXTextFrame = bothSection2ItemHeadersRow.Cells[i + 1].AddTextFrame(); 
    colXTextFrame.Orientation = TextOrientation.Upward; 
    colXTextFrame.Height = new Unit(140); 

    Paragraph colXParagraph = new Paragraph(); 
    colXParagraph.Format.Alignment = ParagraphAlignment.Center; 
    colXParagraph.AddText(section2Items[i].Section2ItemTitle); 
    colXTextFrame.Add(colXParagraph); 

    bothSection2ItemHeadersRow.Cells[i + 1].Borders.Bottom = new Border() { Color = new MigraDoc.DocumentObjectModel.Color(255, 255, 255), Width = new MigraDoc.DocumentObjectModel.Unit(0), Style = MigraDoc.DocumentObjectModel.BorderStyle.None }; 
} 
+0

вы можете разместить код? на каком языке вы используете? Вы пробовали вертикальное выравнивание вместо горизонтального выравнивания, так как вы повернули его на 90 °?! –

ответ

2

Вот пример кода, который должен работать.

Вы можете использовать MarginLeft свойство TextFrame, чтобы переместить его в середине столбца.

// Create the table 
Table Table = section.AddTable(); 
Table.Borders.Width = 0.5; 

// create 3 columns 
Column column1 = Table.AddColumn("4cm"); 
Column column2 = Table.AddColumn("4cm"); 
Column column3 = Tabl.AddColumn("4cm"); 


// make the row 
Row row = Table.AddRow(); 


for (int i = 0; i < 3; i++) 
{ 
    TextFrame t = row.Cells[i].AddTextFrame(); 
    t.Orientation = TextOrientation.Upward; 
    t.Height = new Unit(140); 

    // set the left margin to half of the column width 
    t.MarginLeft = this.Tabelle.Columns[i].Width/2; 

    Paragraph p = new Paragraph(); 
    p.Format.Alignment = ParagraphAlignment.Center;  
    p.AddText("Test_" + i.ToString()); 

    t.Add(p); 
} 

это производит следующий вывод:

enter image description here

+0

Это не повлияло. – ccStars

+0

@ccStars Я нашел его. См. Редактирование, пожалуйста. Надеюсь, это поможет –

+0

@ccStars я перепробовал обертывание в вашем вопросе? Или что вы имеете в виду «обертывания»? –