MigraDoc C# Richten Sie Links und rechts auf derselben Zeile
Ich habe eine Tabelle mit einer Zelle, in denen möchte ich zwei Texte, der erste, ausgerichtet auf der linken Seite und der zweiten Ausrichtung auf der rechten Seite, in der gleichen Zelle in der gleichen Zeile.
Habe ich versucht zu reproduzieren, der diese Zelle mit MigraDoc ohne Erfolg. Ich kann nur hinzufügen, zwei Texte ausgerichtet auf Links und rechts, aber nicht auf der gleichen Linie.
Hier mein 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);
Eine Lösung wird hier vorgestellt ( http://forum.pdfsharp.net/viewtopic.php?f=2&t=2373 ), aber ich bin nicht in der Lage zu tun, das gleiche mit meinem Tisch. Ich kann nicht verstehen, wie es funktioniert.
Edit : Teilweise Lösung :
Nach harter Arbeit, um zu verstehen, wie es funktioniert, mein code ist teilweise arbeiten. teilweise, weil der einzige Weg den ich fand, zu Recht richten zu creat ein TabStop mit einem ungefähren Wert... nicht in Ordnung.
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);
Es funktioniert, aber wie finden Sie die guten Wert für die Funktion AddTab ? Ich legte 67 weil 68to70 nicht funktioniert.
InformationsquelleAutor Alex Saesee | 2013-05-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den trick gezeigt, in dem verlinkten post ist ziemlich einfach: Sie brauchen nur einen einzigen Absatz, der Linksbündig ausgerichtet.
Dann stellen Sie sicher, es ist nur ein Tabstopp definiert ist, wird ein rechts ausgerichteter Tabstopp auf den rechten Rand der Zelle.
Absatz, fügen Sie den gewünschten text Links ausgerichtet, dann fügen Sie einen tabstop, dann fügen Sie den gewünschten text rechts ausgerichtet.
Beispielcode:
Eine teilweise Lösung, siehe mein edit.
Gerade Hinzugefügt Beispielcode. Der Reiter rechts anhalten müssen, nehmen Sie innere Ränder und Rahmen der Zelle in der Tabelle berücksichtigt. Derzeit habe ich keine bessere Idee, als trial-and-error (3 mm bei mir geklappt). Es kann getan werden, ohne Stil (wie mein Beispiel-code zeigt), aber wenn es Auftritt, mehr als einmal in Ihrem Dokument, die Verwendung von Stilen ist der empfohlene Weg.
Vielen Dank für die sammple, helfen Sie mir.
InformationsquelleAutor Vive la déraison
In einer einzigen Zeile können Sie "korrigieren" die Zeile mit der Höhe Nachspatium Eigenschaft gleich dem negativen Wert der Schriftgröße.
Probe RightAlignedTitle Stil:
Beispielcode:
InformationsquelleAutor Lakerfield
Dies ist ein weiterer Weg,... der in einer Rechnung Anwendung, wo die Nummern sind Rechtsbündig und Artikelbeschreibung Links ausgerichtet ist.
InformationsquelleAutor TheComSec