I have a table with a cell where i want two texts, the first, aligned on left and the second aligned on the right, in the same cell, on the same line.
I tried to reproduce this cell with MigraDoc without success. I only can add two texts aligned on left and right but not on same line.
Here my code:
Cell cellFooter1 = rowFooter.Cells[0];
Paragraph paraphTot = new Paragraph();
paraphTot.Format.Alignment = ParagraphAlignment.Left;
paraphTot.AddText("Left text");
cellFooter1.Add(paraphTot);
Paragraph paraphDetails = new Paragraph();
paraphDetails.Format.Alignment = ParagraphAlignment.Right;
paraphDetails.AddText("Right text");
cellFooter1.Add(paraphDetails);
A solution is presented here (http://forum.pdfsharp.net/viewtopic.php?f=2&t=2373) but I'm not able to do same with my table. I don't understand how it work.
Edit : Partial solution :
After a hard work to understand how it work, my code is partially working. partial because the only way I found to right align is to creat a TabStop with an approximative value... not fine.
Table table = new Table();
table.Borders.Width = 0.75;
Column myColumn = table.AddColumn(Unit.FromCentimeter(7));
Row myRow = table.AddRow();
Cell myCell = myRow.Cells[0];
Paragraph myParagraph = new Paragraph();
Style myStyle = doc.AddStyle("myStyle", "Normal");
myStyle.ParagraphFormat.Font.Size = 6.5;
myStyle.ParagraphFormat.Font.Bold = true;
myStyle.ParagraphFormat.TabStops.Clear();
myStyle.ParagraphFormat.AddTabStop(Unit.FromMillimeter(67), TabAlignment.Right);
myParagraph.Style = "myStyle";
myParagraph.Format.Alignment = ParagraphAlignment.Left;
myParagraph.AddFormattedText("left", "myStyle");
myParagraph.AddTab();
myParagraph.AddFormattedText("right", "myStyle");
myCell.Add(myParagraph);
It work but how to find the good value for the AddTab function ? I put 67 because 68to70 is not working.
This is another way... Used in an invoice application, where numbers are right aligned, and item description left aligned.
The trick shown in the linked post is rather simple: you only need a single paragraph, left-aligned.
Then make sure there is only one tabstop defined, a right-aligned tabstop at the right edge of the cell.
To the paragraph, add the text you want left-aligned, then add a tabstop, then add the text you want right-aligned.
Sample code:
On a single line you can "correct" the line height with the SpaceAfter property equal to the negative value of the fontsize.
Sample RightAlignedTitle style:
Sample code: