2016-11-02 5 views
0

Ich benutze einen Absatz in einem TextFrame, um die Textausrichtung nach oben angezeigt zu bekommen. Dies funktioniert fast so, wie ich es möchte, das letzte Problem, das ich habe, ist der Text scheint zu sein linksbündig, ich habe versucht, die Absatzausrichtung zu zentrieren, dies hatte keine Auswirkungen und kann keine Option sehen, dies mit einem TextFrame zu tun. Der ausgegebene Text ist nicht immer derselbe.MigraDoc/PDFSharp TextFrame Center Ausrichten

Dies ist, was ich habe

enter image description here

Dies ist, was zur Zeit i

enter image description here

Im Folgenden ist der Code, den ich verwende, um acheive dies mit MigraDoc

acheive wollen
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

können Sie einen Code schreiben? Welche Sprache verwendest du? Haben Sie die vertikale Ausrichtung anstelle der horizontalen ausgerichtet, da Sie sie um 90 ° gedreht haben?! –

Antwort

2

Hier ist ein Codebeispiel, das funktionieren sollte.

Sie können die MarginLeft Eigenschaft des TextFrame verwenden, um es in der Mitte der Spalte zu verschieben.

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

dies erzeugt die folgende Ausgabe:

enter image description here

+0

Dies hatte keinen Einfluss. – ccStars

+0

@ccStars Ich habe es gefunden. Siehe die Bearbeitung bitte. Hoffe es hilft –

+0

@ccStars habe ich den Wrapping-Teil in Ihrer Frage überlesen? Oder was meinst du mit "Wraps"? –

Verwandte Themen