Laden...

Breite einer Tabellenspalte anhand vom Inhalt berechnen

Erstellt von Ludus vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.846 Views
L
Ludus Themenstarter:in
27 Beiträge seit 2011
vor 13 Jahren
Breite einer Tabellenspalte anhand vom Inhalt berechnen

Hallo,
für einen Export von xml nach Word docx müsste ich die "optimale" Breite z.B. einer Tabellenspalte berechnen, anhand des Inhalts. Ist in erster Näherung die Summe der Breite der Zeichen. Damit sieht mein Output aber noch häßlich aus. 🙁

Wenn ich aber jetzt Formatierungen (fett, hochgestellt...) oder Fußnoten oder Aufzählungen und so'n Kack (uups) auch berücksichtigen würde, müsste ich viel Aufwand betreiben?

Gibt es einen easy way? Irgend eine Magie? Kann mir Word sowas berechnen? 🙂
Ich bin unterwegs mit OpenXML mit SDK 2.0

Also, für jeden Schubser in eine richtige Richtung wäre ich dankbar!

1.820 Beiträge seit 2005
vor 13 Jahren

Hallo!

Das wird sehr schwierig werden.
Erster Ansatzpunkt ist der darstellende Font. Dann ein Graphics-Objekt erstellen, und die Ausmaße der Inhalte einer Spalte nacheinander abfragen (irgendeine Measure-Methode im Graphics-Objekt), den größten Wert nehmen, und in das Koordinatensystem für die Worddatei umrechnen.
Aber selbst dann wirst du nur Näherungswerte haben, alleine schon durch die ganzen Umrechnungen.

Nobody is perfect. I'm sad, i'm not nobody 🙁

L
Ludus Themenstarter:in
27 Beiträge seit 2011
vor 13 Jahren

Danke Tom,
Das wäre eine Lösung. Aber hui, das wäre ja für die Gallerie.

Mit deinem Vorschlag im Hinterkopf habe ich mir jetzt aber noch dieses überlegt:
Bei einem Absatzformat den linken Rand fix setzen und den rechtem Rand solange verkleinern, bis der enthaltene Text umgebrochen wird. Dann wäre die Differenz der Ränder ja die Satzbreite?!

G
538 Beiträge seit 2008
vor 13 Jahren

Ich kenn mich leider nicht mit der OpenXML SDK aus, aber vielleicht hilft's ja trotzdem:
Die Zellen bzw. Spalten in Word haben eine "bevorzugte Breite", wenn diese nicht gesetzt ist, passt Word automatisch die Breite der Spalte an den Inhalt an.
Vielleicht hast du die Möglichkeit eben dieses zu setzen.

Gruß

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

L
Ludus Themenstarter:in
27 Beiträge seit 2011
vor 13 Jahren

coole Idee!
die Auto-Breite würde abhängig vom Inhalt eine Spalte definieren. Evtl. kann ich hier dann die Breite (z.B. in twips oder so) auslesen!

Danke.