DIN Brief als xml/fodt in python erzeugen

Ich versuche das XML einer fodt Datei manuell zu erzeugen. Eine leere fodt Datei enthält schon ziemlich viel, das allermeiste erscheint unnötig. Gibt es irgendwo eine Dokumentation was als minimaler Inhalt in der fodt enthalten sein muss?

Momentan scheitert es schon an den Rahmen für die Adressen. Selbst wenn die ganze Hierarchie von 'draw:frame draw:style-name="XYZ"' enthalten ist, setzt Libreoffice eigene Werte ein, und der Rahmen landet an einer anderen Stelle auf der Seite.

Letztlich soll es ein DIN Brief werden, welcher mit weiterem Inhalt gefüllt werden soll. Am Ende spricht nichts dagegen jede Datei nochmal in Libreoffice zu öffnen, schon als Überprüfung ob alles passt, und ausgedruckt muss sie ja auch werden.

Olaf

Hallo Olaf,

Ich versuche das XML einer fodt Datei manuell zu erzeugen. Eine leere fodt Datei enthält schon ziemlich viel, das allermeiste erscheint unnötig.

Was bringt dich denn auf diesen Gedanken?  Kannst du das überhaupt beurteilen, ob das unnötig ist? Meinst du, da programmiert jemand überflüssiges Zeug?

Gibt es irgendwo eine Dokumentation was als minimaler Inhalt in der fodt enthalten sein muss?

Wirst du sicher nicht finden.

Momentan scheitert es schon an den Rahmen für die Adressen. Selbst wenn die ganze Hierarchie von 'draw:frame draw:style-name="XYZ"' enthalten ist, setzt Libreoffice eigene Werte ein, und der Rahmen landet an einer anderen Stelle auf der Seite.

Ich habe mal ein leeres Dokument mit einem verglichen, in dem bloß ein Rahmen mit ein paar Zeichen enthalten ist: An 7 Stellen weichen die Dokumente, und zwar deutlich, voneinander ab. Das zu durchschauen, wenn du alles selber basteln willst, würde ich mir nicht zumuten.
Ich habe übrigens mal die x-Koordinate des Rahmens geändert und das XML gespeichert: die Änderung war wirksam, nichts von eigenen Werten durch LibreOffice.

Letztlich soll es ein DIN Brief werden, welcher mit weiterem Inhalt gefüllt werden soll. Am Ende spricht nichts dagegen jede Datei nochmal in Libreoffice zu öffnen, schon als Überprüfung ob alles passt, und ausgedruckt muss sie ja auch werden.

Olaf

Wenn du nur Textinhalt einsetzen willst und alles andere schon vorgegeben ist, dann würde ich ein Dokument mit Platzhaltern vorbereiten und nur die Platzhalter durch die jeweiligen Texte ersetzen. Wenn mehr verlangt ist, würde ich nach anderen Wegen suchen.

Gruß

Gerhard

Hallo Olaf,

Ich versuche das XML einer fodt Datei manuell zu erzeugen. Eine leere fodt Datei enthält schon ziemlich viel, das allermeiste erscheint unnötig. Gibt es irgendwo eine Dokumentation was als minimaler Inhalt in der fodt enthalten sein muss?

Nein. Aber selbst wenn du ganz viel entfernst, werden manche Dinge wenn sie nicht da sind, beim Öffnen wieder ergänzt. Dazu gehören beispielsweise gewisse Formatvorlagen und Listendefinitionen, Namespaces und Fontbeschreibungen.

Momentan scheitert es schon an den Rahmen für die Adressen. Selbst wenn die ganze Hierarchie von 'draw:frame draw:style-name="XYZ"' enthalten ist, setzt Libreoffice eigene Werte ein, und der Rahmen landet an einer anderen Stelle auf der Seite.

Ich sehe auch nicht den Sinn von "manuell". Ich würde mir zunächst eine Briefvorlage nach meinen Wünschen erstellen und dabei ganz konsequent nur Formatvorlagen verwenden. Dann wenn alles passt, in fodt abspeichern.

Erst dann würde ich darangehen und versuchen "Überflüssiges" zu entfernen. Jeweils in LO öffnen, gucken ob OK, wieder abspeichern und dann vergleichen, ob es nicht doch automatisch wieder erzeugt worden ist.

Hast du daran gedacht, das Laden von User-Settings und Printer-Settings abzuschalten und das Erzeugen von Zufallszahlen für Dokumentvergleich?

Benötigst du zwingend die XML-Form?

Letztlich soll es ein DIN Brief werden, welcher mit weiterem Inhalt gefüllt werden soll.

Wer soll Inhalte einfügen?

  Am Ende spricht nichts dagegen jede Datei nochmal in Libreoffice zu öffnen, schon als Überprüfung ob alles passt, und ausgedruckt muss sie ja auch werden.

Mit freundlichen Grüßen
Regina