Projekt BISO 3 - Handbuch
[inhalt]

← zurück

Word Vorlagen: Installation unter Linux Server

libreoffice

Installation

phpdocx

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.

Empfohlen: Konfiguration via PHP (config.php)

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.

Alternativ: phpdocxconfig.ini (webroot/components/phpdocx/config/phpdocxconfig.ini)

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/"