Seite 1 von 1

Konfiguration ohne GUI

Verfasst: Fr 13. Apr 2018, 17:40
von andreas.mause
Hallo,

nach nun stundenlanger Suche und Experimenten habe ich mich hier mal angemeldet. Ich setze LibreOffice 5.1 auf meinem Server unter Ubuntu 14 bzw. 16 zur Generierung von PDFs und Word-Dokumenten ein die ich via PHP-Backend entweder als HTML oder RTF übergebe. Das klappt so weit bestens.

Folgende Dinge möchte ich nun anpassen, aber scheitere daran:

1. "Verfasser" im PDF ist "ch j" (super wäre eine dynamische Änderung via Parameter, aber das wird sicherlich nicht funktionieren)
2. PDF/A-1 Generierung aktivieren

Eine registrymodification.xcu ist nicht vorhanden. Soll ich die manuell anlegen?

Besten Dank für Eure Hilfe,

Andreas

Re: Konfiguration ohne GUI

Verfasst: Sa 14. Apr 2018, 16:27
von gogo
Du kannst ein Makro von der Kommandozeile aus starten, das hat schon der Dannenhöfer gewusst:
http://www.dannenhoefer.de/faqstarbasic ... ml#Zweig57
Die Syntax dazu wäre:

Code: Alles auswählen

soffice macro:///bibliothek.modul.macro
oder mit Parametern
soffice macro:///standard.module1.macro1(para1,para2)
oder
soffice /tmp/MeineDatei.odt macro:///standard.module1.macro1
ob soffice oder libreoffice oder libreoffice4 oder libreoffice5 ... ist vermutlich von Version zu Version verschieden.
Mit dem Makro kannst Du dann sämtliche Optionen verwenden. Ich würde in diesem Fall im Makro nicht Starbasic-Befehle verwenden sondern Dispatcher-Befehle vorziehen.

Die registrymodification.xcu von Hand zu erstellen kann eine never ending story werden ;) daher:
Da Du LO auf einem Server betreibst sind 1 oder 2 Schritte notwendig um zu einer GUI zu kommen:
1. Grafische Oberfläche:
Ob man wirklich eine braucht kann ich zur Zeit nicht testen, habe gerade keinen GUI-freien Server zur Hand ;) . Wenn ja, dann musst auf Deinem Server keinen vollständigen Desktop installieren, Openbox reicht vollkommen (hat nur ein paar MB (auf meinem Ubuntu sogar nur 0,7 MB) und bringt praktisch alle Abhängikeiten selbst mit).
2. x11-forwarding (brauchst Du nur, wenn Du den Server per ssh ansprichst. Wenn Du sowieso Bildschirm und Tastatur angeschlossen hast entfällt dieser Punkt)
Um die GUI von Deinem Client aus zu bekommen musst Du am Server in der /etc/ssh/ssh_config das forwarding einschalten (sudo nano /etc/ssh/ssh_config und dann "ForwardX11 yes") und dann vermutlich den ssh-Dienst neu starten (sudo systemctl restart ssh).
Dann loggst Du Dich nochmal per ssh ein, und zwar mit der Option -X (großgeschrieben) "ssh -X benutzername@hostIP"
Dann kannst Du die Libreoffice-GUI remote benutzen.

Bedenke, dass Du Dich als user xyz einloggst, das php-script aber vermutlich unter einem anderen Benutzernamen arbeitet, der ggf gar kein home hat! Dann wird's mit all diesen Dingen schwierig....
ggf musst Du einen virtuellen Drucker installieren, der explizit PDF/A unterstützt, da kenn' ich aber leider keinen. (Das Problem ist, dass das Format Metainformationen verlangt, und daher nur komplexe Programme wie LO oder LaTex ... PDF/A's machen können)

Den Autor des PDFs änderst Du am einfachsten mit pdftk:
eine Datei erstellen:

Code: Alles auswählen

Datei Info.dat:
InfoBegin
InfoKey: Author
InfoValue: Cooler Typ
und diese mit folgendem Befehl in das PDF schreiben:

Code: Alles auswählen

pdftk a.pdf update_info Info.dat output b.pdf

Re: Konfiguration ohne GUI

Verfasst: Sa 14. Apr 2018, 23:29
von andreas.mause
Heh,

dank Dir! Schaue ich mir nächste Woche mal an. Dann schlage ich mich auch mit dem Mustang Project rum um PDF/A-3 ZUGFerD konforme Dateien aus den PDF/A-1 zu generieren. Gebe dann entsprechend mal Feedback!

Ein schönes Restwochenende,

Andreas

Re: Konfiguration ohne GUI

Verfasst: So 15. Apr 2018, 01:15
von andreas.mause
... habe mich jetzt doch schon mal damit auseinander gesetzt. Ich bekam zwar Openbox installiert, aber es gab einen Display-Fehler. Ich weiß auch gar nicht, ob das auf so einem VM-Server (Hetzner) überhaupt funktioniert.

Aber: Mir kam eine andere Idee. Ich hatte auf meinem Laptop (Win10) LibreOffice installiert. Habe dort mir die registrymodification.xcu in WinMerge geladen, die Konfiguration geändert und dann verglichen - perfekt - hatte genau die Zeilen vor mir die geändert wurden (PDF/A-1, Userdata).

Problem mit der fehlenden registrymodification.xcu auf dem Server: Ich hatte noch eine "tote" 4'er Version installiert gehabt, welche im Web-Root der Homepage lag. Die 5'er installierte sich aber in den Systemordnern. Erstaunlicherweise wird aber das /user-Verzeichnis aus der 4'er weiterhin genutzt und die registrymodification.xcu hatte das Datum von heute. Ein anderes /user-Verzeichnis habe ich nämlich nicht gefunden.

Ob eine Modifikation damit funktioniert habe ich noch nicht ausprobiert. Aber ich denke, das könnte eine Lösung sein. Ist mir jetzt zu spät ... werde berichten ;)

Einen schönen Sonntag,

Andreas

Re: Konfiguration ohne GUI

Verfasst: So 15. Apr 2018, 01:18
von andreas.mause
ps. bei den Userdaten bzw. dem Verfasser in der PDF muss ich natürlich mit pdftk arbeiten.

Re: Konfiguration ohne GUI

Verfasst: So 15. Apr 2018, 23:35
von gogo
andreas.mause hat geschrieben:
So 15. Apr 2018, 01:15
... habe mich jetzt doch schon mal damit auseinander gesetzt. Ich bekam zwar Openbox installiert, aber es gab einen Display-Fehler. Ich weiß auch gar nicht, ob das auf so einem VM-Server (Hetzner) überhaupt funktioniert....
Ob ein VM Server die Grafikeinheit zur Verfügung stellt musst Du beim Anbieter erfragen, da kannst Du dann auch fragen ob bei ssh-Zugriff das x-Forwarding funktioniert. Einen direkten Zugriff auf die Hardware wird's vermutlich nicht geben, daher nur einen virtuellen Grafikchip - der würde in Deinem Fall aber ausreichen.

Um das Userverzeichnis welches benutzt wird herauszufinden: alle Userverzeichnisse die Du finden kannst löschen, und dann LO einmal laufen lassen.
dann das ganze / nach neuen User-Verzeichnissen durchsuchen ... dort kannst Du dann die registrymodification.xcu unterbringen.

Re: Konfiguration ohne GUI

Verfasst: Mo 16. Apr 2018, 00:18
von gogo
da fällt mir gerade noch was ein:

Du könntest für libreoffice einfach einen "--disabled-login"-user anlegen und LO dann mit "su" oder "sudo" unter dieser Benutzerkennung ausführen.
Anregung: https://wiki.debianforum.de/X-Anwendung ... %C3%BChren
Ich vermute, dass LO dann das Benutzerverzeichnis dieses Users verwendet.

Re: Konfiguration ohne GUI

Verfasst: Mo 16. Apr 2018, 10:22
von andreas.mause
... heh, prima. Schaue ich mir an! Leider ruft nun wieder das Tagesgeschäft ...

Gerade kurz mal suchen lassen - merkwürdig wie oft die 4'er User-Verzeichnisse angelegt hat - und irgendwie haben die .xcu alle ein aktuelles Datum - scheinen alle in Benutzung zu sein. Die 5'er hat keins angelegt:

./var/www/vhosts/domain.tld/.config/libreoffice/4/user/registrymodifications.xcu
./var/www/vhosts/domain.tld/libreoffice/4/user/registrymodifications.xcu
./root/.config/libreoffice/4/user/registrymodifications.xcu

ga