open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Tipps

LibreOffice headless auf Debian: Dokumentenverarbeitung automatisieren wie ein Profi

Autor
LibreOffice headless auf Debian: Dokumentenverarbeitung automatisieren wie ein Profi

Einleitung

Wer auf einem Server Dokumente automatisiert verarbeiten möchte – etwa für PDF-Erzeugung, Archivierung oder KI-Workflows – kommt an einer Lösung kaum vorbei: LibreOffice im Headless-Modus.

Ohne grafische Oberfläche, dafür mit voller Power, lässt sich LibreOffice perfekt in Scripts, Cronjobs oder Backend-Systeme integrieren. Gerade in Kombination mit Bots, APIs oder Tools wie deinem Dokumenten-Processing ist das ein echter Gamechanger.

In diesem Artikel zeige ich dir Schritt für Schritt, wie du LibreOffice headless auf einem Debian-Server installierst, optimierst und produktiv einsetzt.

Was bedeutet „headless“?

„Headless“ bedeutet: 👉 LibreOffice läuft ohne GUI, nur über die Kommandozeile.

Das bringt entscheidende Vorteile:

  • geringer Ressourcenverbrauch
  • automatisierbar (Scripts, Cronjobs, APIs)
  • ideal für Server & Container
  • perfekt für Batch-Verarbeitung

Installation auf Debian

Minimalinstallation (empfohlen)

Für die meisten Anwendungsfälle reicht eine schlanke Installation:

apt update
apt install -y libreoffice-core libreoffice-writer libreoffice-calc libreoffice-impress

👉 Damit kannst du bereits:

  • DOCX → PDF
  • XLSX → PDF
  • PPTX → PDF

Erweiterte Installation (empfohlen für Produktion)

apt install -y libreoffice-common \
               libreoffice-java-common \
               fonts-dejavu \
               fonts-liberation \
               fonts-freefont-ttf \
               unoconv

👉 Vorteile:

  • bessere Schriftdarstellung
  • stabilere Konvertierung
  • Unterstützung komplexer Dokumente
  • Nutzung von unoconv

Erste Schritte: Headless testen

libreoffice --headless --version

Wenn eine Version angezeigt wird → ✅ alles korrekt installiert.

Dokumente konvertieren (Praxis)

Einfaches Beispiel: DOCX → PDF

libreoffice --headless --convert-to pdf beispiel.docx

Zielordner definieren

libreoffice --headless --convert-to pdf --outdir /tmp/output beispiel.docx

Mehrere Dateien gleichzeitig

libreoffice --headless --convert-to pdf *.docx

Performance optimieren (sehr wichtig!)

Standardmäßig startet LibreOffice bei jedem Aufruf neu → langsam.

Lösung: Dauerbetrieb (Daemon-Modus)

libreoffice --headless \
  --accept="socket,host=127.0.0.1,port=2002;urp;" \
  --norestore --nolockcheck --nodefault --nofirststartwizard &

👉 Ergebnis:

  • LibreOffice läuft dauerhaft im Hintergrund
  • Konvertierungen werden deutlich schneller

Komfortabler arbeiten mit unoconv

Mit unoconv wird die Nutzung deutlich einfacher:

unoconv -f pdf beispiel.docx

Vorteile:

  • nutzt laufenden LibreOffice-Dienst
  • weniger Fehleranfällig
  • ideal für Automatisierung
  • perfekt für Backend-Integration (z. B. Laravel, Python)

Integration in eigene Systeme (z. B. Bots)

Ein Beispiel in Python:

import subprocess

subprocess.run([
    "libreoffice",
    "--headless",
    "--convert-to", "pdf",
    "--outdir", "/tmp",
    "input.docx"
])

👉 Perfekt für:

  • Dokumenten-Workflows
  • KI-Systeme (RAG, Embeddings)
  • automatisierte Archivierung

Typische Probleme & Lösungen

❌ LibreOffice nicht gefunden

which libreoffice

❌ PDFs sehen „komisch“ aus

👉 Ursache: fehlende Fonts

apt install fonts-dejavu fonts-liberation

❌ Prozesse hängen

rm -rf ~/.config/libreoffice

❌ Performance schlecht

👉 unbedingt nutzen:

  • Daemon-Modus
  • oder unoconv

Best Practice für Server-Setups

Gerade für größere Systeme:

👉 Empfohlene Architektur:

  • Input: /data/<source>/files
  • Verarbeitung: LibreOffice headless
  • Output:

    • PDF-Dateien
    • .txt für KI
    • .meta.json für Metadaten

👉 Kombination mit:

  • Python-Bots
  • Qdrant (Embeddings)
  • automatischem Crawling

Optional: Systemd-Service

Für stabilen Dauerbetrieb:

[Unit]
Description=LibreOffice Headless Service

[Service]
ExecStart=/usr/bin/libreoffice --headless --accept=socket,host=127.0.0.1,port=2002;urp;
Restart=always
User=www-data

[Install]
WantedBy=multi-user.target

LibreOffice headless ist eine extrem mächtige Lösung für:

  • Dokumenten-Konvertierung
  • Automatisierte Workflows
  • KI-Datenaufbereitung
  • Server- und Backend-Systeme

Mit der richtigen Konfiguration (Daemon + unoconv) erhältst du:

stabile, schnelle und skalierbare Dokumentenverarbeitung