LibreOffice_6.x.x.x_Linux_x86-64_deb/DEBS wechseln und dpkg -i *.deb ausführen/opt/libreoffice6.1/program/soffice muss jetzt verfügbar sein und das Kommando /opt/libreoffice6.1/program/soffice --version muss der Version des Ordner oben entsprechen/opt/libreoffice6.1/program/soffice --headlesssudo apt-get install libdbus-glib-1-2/var/www/ ein Ordner mit Namen .cache erstellt werden:cd /var/www
mkdir .cache
chmod 777 .cache
Der Pfad zu LibreOffice muss in der PHPDocx-Konfiguration hinterlegt sein — BISO liest ihn von dort
(BriefDocument::getPDF()). Fehlt er, schlägt die Brief-Erstellung mit einer entsprechenden Fehlermeldung fehl.
Die Konfiguration gehört in die config.php, nicht in die phpdocxconfig.ini: die .ini liegt im
phpdocx-Paket und wird bei jedem Update der Library überschrieben, die config.php bleibt bestehen. Offizielle
Methode von PHPDocx, siehe https://www.phpdocx.com/documentation/cookbook/setting-phpdocx-ini-php-code.
Dabei die vollständige Config setzen, nicht nur einzelne Werte: Sobald $_phpdocxConfig gesetzt ist, liest
PHPDocx die .ini gar nicht mehr. Fehlt dann z. B. paper_size, bricht schon new CreateDocx() mit
You have used an invalid paper size ab.
// vor dem ersten Gebrauch von PHPDocx-Klassen:
require_once __DIR__ . '/components/phpdocx/classes/CreateDocx.php';
PhpdocxUtilities::$_phpdocxConfig = [
'settings' => [
// absoluter Pfad zum Temp-Dir; leer = System-Temp-Dir
'temp_path' => '',
// 'true': nicht-UTF-8-Inhalte werden nach UTF-8 konvertiert
'encode_to_UTF8' => 'false',
'language' => 'de-CH',
'paper_size' => 'A4',
],
'license' => [
'code' => '',
'value' => '',
],
'transform' => [
'method' => 'libreoffice',
// LibreOffice-Pfad inkl. UserInstallation-Verzeichnis
'path' => '/opt/libreoffice6.1/program/soffice -env:UserInstallation=file:///tmp/biso/',
],
];
Zum Testen php webroot/tests/word-to-pdf-test.php verwenden.
Nur wenn sichergestellt ist, dass die Datei bei Library-Updates nicht überschrieben wird:
[settings]
language = "de-CH"
paper_size = "A4"
[transform]
method = "libreoffice"
; libreoffice installation path, absolute path
path = "/opt/libreoffice6.1/program/soffice -env:UserInstallation=file:///tmp/biso/"