libriciel/php-office-clients

Clients PHP pour les services liés à la fusion documentaire.

1.9.0 2024-10-28 14:12 UTC

README

Version PHP License: AGPL v3 pipeline coverage

php-office-clients

Clients PHP aux interfaces unifiées pour les services liés à la fusion documentaire, sans dépendance de framework.

Les configurations par défaut se font au moyen de variables d'environnement.

Testé avec

Anciennes librairies

Utilisation

Pour aller plus loin

Exemples

Pdf2Odt

use Libriciel\OfficeFusion\Pdf2Odt\Client\ClientFactory;

try {
    $documentContent = ClientFactory::create()
        ->pdf2odt('/data/workspace/document.pdf');
    // ...
} catch(\Throwable $exc) {
    // ...
}

Fusion

use Libriciel\OfficeFusion\Fusion\Client\ClientFactory;
use Libriciel\OfficeFusion\Fusion\Helper\Builder;

try {
    // Création des données
    $main = (new Builder())
        ->addField('entity_name', 'Libriciel SCOP')
        // ...
    ;

    $documentContent = ClientFactory::create()
        ->fusion('/data/workspace/template.odt', $main->getResult());
    // ...
} catch(\Throwable $exc) {
    // ...
}

Conversion

use Libriciel\OfficeFusion\Conversion\Client\ClientFactory;

try {
    $documentContent = ClientFactory::create()
        ->conversion(file_get_contents('/data/workspace/document.odt'), 'odt', 'pdf');
    // ...
} catch(\Throwable $exc) {
    // ...
}

Développement

docker compose -f docker-compose-dev.yml up -d --build
docker compose -f docker-compose-dev.yml logs -f
docker compose -f docker-compose-dev.yml exec php-office-clients /bin/bash
docker compose -f docker-compose-dev.yml down --remove-orphans --volumes
composer pre-commit

Tests d'intégration incomplets

  • flow devrait envoyer des 410 Gone (à partir de la 1.0.0-rc.4) pour l'URL du WSDL (les tests sont skipped actuellement)