LibreOffice und Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
infoallskills
User
Beiträge: 1
Registriert: Samstag 28. März 2026, 13:33
Wohnort: Berlin
Kontaktdaten:

Hallo zusammen,

hat jemand Erfahrungen in der Programmierung von LibreOffice mit Python bzw. interessante Links wo man Beispiele findet?

Ich hab vor ein Script zum automatisierten Drucken (bzw. Umwandeln in PDF) von Schulungsunterlagen zu erstellen.
Pedroski55
User
Beiträge: 50
Registriert: Freitag 25. Juli 2025, 00:20

Nie mit Python gemacht, aber in bash

Gucke nach: libreoffice --headless --convert-to pdf

Vielleicht kann libreoffice heutzutage gleich .odt Dateien jetzt in PDF umwandeln

Code: Alles auswählen

libreoffice --headless --convert-to pdf <file_name>.docx --outdir <output_directory>
Wenn die Dateien in PDF verwandelt worden sind, folgendes bash script funktionierte für mich:
PDFfiles="/home/pedro/winter2021/$1/individual_stats/*.pdf" # local machine
#batch print PDF files

for X in $PDFfiles;
do
echo "Datei ist:"
printf $X;
echo "\n";
echo "Ab zum Drucker ... \n "
lp -d "EPSON-L380-Series" $X;
done
Man muss wissen wie der Drucker heißt. Das kreigt man heraus mit:
lpstat -p
(auch lpstat -t oder -e oder -l

in bash. Damals hatte ich

"EPSON-L380-Series"

Ist ne Weile her das ich dies getan, kann sein das sich etwas geändert hat!

Man kann irgendwie via Python subprocess dasselbe erreichen, aber warum sich die Mühe machen, wenn es in bash doch geht??
Benutzeravatar
noisefloor
User
Beiträge: 4312
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

bzw. interessante Links wo man Beispiele findet?
Na ja, wenn man in der Suchmaschine seines Vertrauens die "libre office python" eingibt, sollte der 1. Suchttreffer die Doku von Libre Office zum Erstellen von Python Skripten und Macros sein.

Wenn du Dokus erstellen willst, dann würde ich aber eher kein Nischenprodukt wie LO verwenden, sondern ein universelleres Format wie Markdown, mit dem sich dann viel leichter auch online Dokus erstellen lassen (bzw. allgemeiner: HTML als Zielformat).

Gruß, noisefloor
Benutzeravatar
__blackjack__
User
Beiträge: 14364
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Pedroski55: Die ganzen Semikolons in dem Shell-Skript sind sinnfrei.

Um das $X gehören doppelte Anführungszeichen, damit Leer- oder andere ”Sonderzeichen” in der Shell keine Probleme machen.

Das erste Argument von ``printf`` ist die Vorlage mit Platzhaltern. Wenn man da gleich den Dateinamen übergibt, können komische Sachen passieren wenn der Dateiname Dinge enthält, die von ``printf`` in der Vorlage besonders behandelt werden.

Code: Alles auswählen

#!/bin/sh
#
# XXX Hier möchte man vielleicht vorher prüfen ob $1 einen sinnvollen Wert hat.
#
PDFfiles="/home/pedro/winter2021/$1/individual_stats/*.pdf"

for X in $PDFfiles
do
    echo "Datei ist: $X"
    echo 'Ab zum Drucker ...'
    lp -d EPSON-L380-Series -- "$X"
done
In der Bash gibt ``echo "\n"`` die Zeichen ``\`` und ``n`` aus, und kein Zeilenendezeichen.
“It is easier to optimize correct code than to correct optimized code.” — Bill Harlan
Antworten