Open Source im professionellen Einsatz
Linux-Magazin 05/2016
© vasin leenanuruksa, 123RF

© vasin leenanuruksa, 123RF

Libre Office automatisiert testen

Lebenszeichen im Büro

Dass Libre Office auf allen PCs stets funktioniert, ist in vielen Firmen lebenswichtig. Zur automatisierten funktionellen Anamnese reichen Python und das Libre-Office-API.

579

Vielerorts ist die Office-Suite eine der zentralen Anwendungen – umso größer gerät der Schock, wenn nach Software-Updates oder -Upgrades die Suite nicht mehr startet oder einzelne Funktionen ausfallen. Ins Stolpern kann das Herz moderner Büros nicht nur nach einem Office-Update selbst geraten, jede Erneuerung einer Betriebssystem-Komponente erscheint geeignet, die etablierten Arbeitsabläufe zu stören.

Betreut der Administrator Abteilungen, die einen Satz bestimmter Vorlagen, Makros und Formulare immer wieder verwenden, genügt es in der Praxis, zumindest die zentralen Dokumente ein Mal zu testen, bevor der Admin das Update in alle Abteilungen ausrollt.

Test automatisieren

Noch hilfreicher als der Test selbst ist seine Automatisierung – zumindest für den Administrator. Denn dass dieser sich vor jedem Update manuell durch die verschiedenen Dokumenttypen klickt, ist nicht nur langweilig, sondern auch fehleranfällig.

Libre Office bietet eine ganze Reihe von Möglichkeiten an, um die Software über das API der Anwendung per Skript zu steuern. Die bekannteste Variante dürfte dabei – auch aufgrund anderer bekannter Office-Suiten – die Steuerung über Makros aus Libre Office selbst heraus sein. Üblicherweise bieten die Office-Suiten für das Schreiben dieser Makros zwar einen Basic-Dialekt an, aber nach ein wenig Einrichtungsarbeit erlaubt es Libre Office, diese Makros auch in Python zu formulieren.

Die Steuerung von Libre Office funktioniert genauso gut von außen – etwa aus einem externen Prozess oder auch aus einem Python-Skript heraus. Hier steht der gleiche Zugriff auf das Libre-Office-API zur Verfügung wie innerhalb der Makro-Umgebung.

Dem Admin bietet sich über diesen Weg eine Möglichkeit zum Testen, ohne dafür Libre Office selbst öffnen und manuell bedienen zu müssen. So kann er zum Beispiel vor dem Ausrollen einer neuen Version einen kurzen automatisierten Check fahren, der absichert, dass Libre Office auch nach dem Update weiterhin so funktioniert wie gewünscht.

Die gleiche Methode können Administratoren oder Entwickler auch verwenden, um komfortabel Dokumentenabläufe zu automatisieren, Serienbriefe oder PDF-Dokumente zu erstellen, Libre Office hinter einem in Python generierten Webfrontend anzusprechen oder vieles mehr. Der Artikel beschränkt sich auf die grundlegende Kommunikation mit Libre Office, aber der Fantasie für Erweiterungen sind keine Grenzen gesetzt.

Das Spiel beginnt

Die Voraussetzung schafft der Administrator unter Ubuntu mit der Installation des Pakets »libreoffice-script-provider-python« . Dieses Paket ist allerdings im Kern ein Metapaket, das sich hauptsächlich darum kümmert, dass Libre Office und das Python-Paket »python3-uno« installiert sind. Auf anderen Distributionen, bei denen sich kein Paket namens »libreoffice-script-provider-python« findet, sollte es reichen, die Libre-Office-Pakete und das Paket »python-uno« oder – je nach verwendeter Python-Version – »python3-uno« oder »python2-uno« zu installieren. Das hier entwickelte Skript basiert auf Python 3.

Auf Mac OS X enthält das Libre-Office-Paket einen eigenen Python-Interpreter unter »/Applications/LibreOffice.app/Contents/MacOS/python« . Der hat auch das »uno« -Paket zur Verfügung, daher kann der Admin unter Mac OS X sofort mit dem Scripting beginnen.

Der Python-Interpreter informiert einen auf jeden Fall bereitwillig, ob der Zugriff auf die Libre-Office-Schnittstelle möglich ist. Nach dem Start über das Kommando »python3« oder unter Mac OS »/Applications/LibreOffice.app/Contents/MacOS/python« darf der Import »>>> import uno« nicht fehlschlagen.

Liefert diese Python-Zeile einen »Import Error« , fehlt das »uno« -Paket oder es liegt nicht im erwarteten Pfad für Python-Bibliotheken. Kann Python das Paket jedoch importieren, sollte dem Zugriff auf Libre Office nichts im Wege stehen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Kaffee im Open Office

    Ohne Kaffee läuft in deutschen Büros nichts. Der Beitrag beweist, dass auch Open Office mit Java viel leistet: Das Open-Office-SDK liefert ein Rezept für das belebende Gebräu.

  • Office-Importfilter

    Früher verhinderten proprietäre Dateiformate den Umstieg auf alternative Officesuites. Das hat sich gewaltig geändert, mittlerweile gilt Libre Office gar als VW Golf der Office-Welt, vor allem dank der vielen Importfilter. Sogar zum Zusammenschrauben eigener Importer reichen Hobbykenntnisse.

  • Libre Office importiert erstmals Corel-Draw-Text

    Der Libre-Office-Entwickler Fridrich Strba meldet, er habe erstmals Text aus Corel-Draw-Dokumenten in die freie Bürosuite importiert.

  • Bundesgit für Libre Office

    Gesetzestexte mit einem Tastatur-Shortcut automatisch und immer aktuell in Libre Office einfügen - das hat Libre-Office-Entwickler Bjoern Michaelsen mit nur wenigen Zeilen Python implementiert.

  • Libre-Office-Entwickler verbessert Anmerkungen

    Der ungarische Libre-Office-Entwickler Miklos Vajna hat die Kommentarfunktion in Libre Office Writer verbessert.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.