🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

Rahmen um Tabellen per UNO-API zuverlässig setzen

Alles zur Programmierung im LibreOffice.
Antworten
OliverL
Beiträge: 3
Registriert: Di 15. Jul 2014, 14:51

Rahmen um Tabellen per UNO-API zuverlässig setzen

Beitrag von OliverL » Di 15. Jul 2014, 15:55

Hallo,
ich verwende LibreOffice im headless-Modus als eine Art Report-Generator (schon seit OpenOffice 2.0). Dabei wird aus einem Java-Programm heraus mittels UNO-API ein ODT-Dokument als Vorlage geladen und dann über das UNO-API HTML-Texte und Tabellen importiert, um so den Report mit Inhalten zu füllen.

Funktioniert alles zuverlässig, nur leider werden die Rahmen von aus HTML importierten Tabellen unschön dargestellt (breit, grau, Gitternetz und Umrahmung unterschiedlich dick (in LO)), und auch die HTML Style/CSS-Angaben werden nicht wirklich beachtet.

Daher verfolge ich aktuell den Ansatz, dass ich nach Aufbereitung des Dokuments (Vorlage + importiertes HTML) alle Tabellen durchiteriere und dann mittels TableBorder/TableBorder2 versuche, die Rahmen selbst passend umzugestalten.
Das funktioniert "im Kleinen" (d.h. mit vielen kurzen Tabellen (z.B. 20 Zeilen/Tabelle)) sehr gut. Wenn längere, über mehrere Seiten umbrechende Tabellen dabei sind kommt es (reproduzierbar) vor, dass einige - aber nicht alle - Tabellen die geänderten Rahmen nicht oder nur teilweise annehmen...

Schematisch:
Dokument -> XTextTablesSupplier -> XNameAccess => alle Tabellennamen
Schleife über alle Tabellennamen:
XTextTable(name) -> XPropertySet -> get/set (TableBorder, TableBorder2)

Kennt jemand das Phänomen oder besser, eine Lösung?

Besten Dank für Infos & Tipps!
Oliver


An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.



❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten