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.
LibreOffice und Python
-
infoallskills
- User
- Beiträge: 1
- Registriert: Samstag 28. März 2026, 13:33
- Wohnort: Berlin
- Kontaktdaten:
-
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
Wenn die Dateien in PDF verwandelt worden sind, folgendes bash script funktionierte für mich:
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??
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>Man muss wissen wie der Drucker heißt. Das kreigt man heraus mit: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
(auch lpstat -t oder -e oder -llpstat -p
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??
- noisefloor
- User
- Beiträge: 4312
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
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.bzw. interessante Links wo man Beispiele findet?
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
- __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.
In der Bash gibt ``echo "\n"`` die Zeichen ``\`` und ``n`` aus, und kein Zeilenendezeichen.
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“It is easier to optimize correct code than to correct optimized code.” — Bill Harlan
