Bienvenue, Invité
Nom d'utilisateur : Mot de passe : Se souvenir de moi

SUJET : Docs en PDF à partir des modèles ODT (Centos 6.7)

Docs en PDF à partir des modèles ODT (Centos 6.7) il y a 3 ans 6 mois #69805

  • karelnet
  • Portrait de karelnet
  • Hors ligne
  • Senior Boarder
  • Messages : 46
  • Remerciements reçus 13
  • Karma: 1
Bonjour,

Voici la procédure que j'ai utilisée pour utiliser les modèles ODT qui génèrent des PDF.
J'ai utilisé cette procédure avec Dolibarr 3.9.0, sur Linux (Centos 6.7), sur un serveur dédié.

Les pré-requis :
- Il faut pouvoir faire tourner ou installer Java (JRE)
- il faut pouvoir installer des packages Linux (Libreoffice)
- le tout va prendre pas mal de place sur le disque : prévoir plusieurs GB sur le disque, et environ 1GB de RAM disponible. Il faut donc une config assez solide
- Il y a une correction d'un script Dolibarr à faire

Il faudra installer :
- Java (un JRE)
- Libreoffice pour linux
- JOD converter (un fichier .jar, un exécutable JAVA)

Java
Vérifier la version de Java sur le serveur
java -version
Si pas installé, installer le JRE (pas JDK...) :
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "download.oracle.com/otn-pub/java/jdk/7u7...e-7u79-linux-x64.rpm"
yum localinstall jre-7u79-linux-x64.rpm
java -version
rm jre-7u79-linux-x64.rpm

LibreOffice
Installer libre-office
wget download.documentfoundation.org/libreoff...ux_x86-64_rpm.tar.gz
tar xzf LibreOffice_5.1.1_Linux_x86-64_rpm.tar.gz
cd LibreOffice_5.1.1.3_Linux_x86-64_rpm/RPMS/
yum localinstall *.rpm

Nettoyage :
cd ..
cd ..
rm LibreOffice_5.1.1_Linux_x86-64_rpm.tar.gz
rm -Rf LibreOffice_5.1.1.3_Linux_x86-64_rpm

JOD converter
Télécharger la version 2.2.2 (ne fonctionne pas avec des versions plus récentes a priori, mais j'ai pas testé) :
sourceforge.net/projects/jodconverter/files/JODConverter/2.2.2/

L'uploader dans un dossier accessible par l'utilisateur web (NB : c'est un exécutable Java, on le met où on veut !)
Ex : /home/neo7/XXX..../jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar

BUG : Démarrage manuel du processus libreoffice
Attention ! Pour une raison inconnue, chez moi le processus plante (il part en vrille de CPU) s'il est lancé directement par le script SSH odt2pdf.sh

Palliatif :

En paramétrant l'utilisateur web, Lancer le processus à la main :
/opt/libreoffice5.1/program/soffice --invisible --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard --headless &
Attention ! Il faudra le lancer à chaque arrêt du serveur, ou programmer un lancement automatique

Correction dans le script de Dolibarr
Dans le fichier scripts/odt2pdf.sh, corriger une erreur pour éviter le lancement d'un autre processus :
#nbprocess=$(pgrep -c soffice)
nbprocess=$(pgrep soffice | wc -l)

Paramétrage de Dolibarr
Dans Accueil > Configuration > Divers, ajouter les variables suivantes :
MAIN_ODT_AS_PDF ==> /home/neo7/XXXX.../jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar
MAIN_DOL_SCRIPTS_ROOT ==> /home/XXX/scripts (chemin vers le répertoire des scripts)

Facultatif, supprimer le fichier ODT après la génération du PDF :
MAIN_ODT_AS_PDF_DEL_SOURCE ==> 1

Après bien entendu, il faut créer ses modèles ODT et indiquer à Dolibarr d'utiliser ces modèles pour chaque module concerné (Accueil > Configuration > Modules).
L'administrateur a désactivé l'accès en écriture pour le public.
Cet utilisateur a été remercié pour son message par: jeanmichel

Docs en PDF à partir des modèles ODT (Centos 6.7) il y a 3 ans 4 mois #72608

  • verbatime
  • Portrait de verbatime
  • Hors ligne
  • Fresh Boarder
  • Messages : 19
  • Karma: 0
Bonjour,

J'ai utilisé votre procédure avec Dolibarr 3.9.1 sur Centos 6.8 avec cPanel / WHM et l'installation s'est correctement déroulée.

Par contre quelques corrections :
- Dans Accueil > Configuration > Divers :
MAIN_DOL_SCRIPTS_ROOT ==> /home/nom_d'utilisateur/dossier_dolibarr_contenant_le_dossier_scripts/
(il ne faut pas indiquer le dossier "scripts")

Une fois toutes ces opérations effectuées :
Il faut executer cette commande sur le fichier odt2pdf.sh : chmod +x odt2pdf.sh

Et enfin supprimer de WHM > php.ini > Mode avancé > disable_functions > exec
Exec est nécessaire pour executer odt2pdf.sh

Et voilà :-)
Dernière édition: il y a 3 ans 4 mois par verbatime.
L'administrateur a désactivé l'accès en écriture pour le public.

Docs en PDF à partir des modèles ODT (Centos 6.7) il y a 3 ans 4 mois #72794

  • karelnet
  • Portrait de karelnet
  • Hors ligne
  • Senior Boarder
  • Messages : 46
  • Remerciements reçus 13
  • Karma: 1
verbatime écrit:
MAIN_DOL_SCRIPTS_ROOT ==> /home/nom_d'utilisateur/dossier_dolibarr_contenant_le_dossier_scripts/
(il ne faut pas indiquer le dossier "scripts")

C'est parce que chez moi le dossier qui contient les scripts, s'appelle scripts :)
L'administrateur a désactivé l'accès en écriture pour le public.