Je relance le fil de https://forum.openoffice.org/fr/forum/v ... 13&t=50147.
En effet, je l'avais considéré comme résolu en janvier.
Or, lors de l'installation sur la machine de production, j'ai eu une surprise :
Code : Tout sélectionner
soffice.exe -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -env:UserInstallation=file:///D:/ecouteOo/Claude
J'ai fait plusieurs essais :
- si je lance mon script dans la fenêtre DOS, tout se passe bien
- si je le lance à partir d'un fichier php, son comportement est aléatoire
- si soffice est déjà lancé en écoute (par la fenêtre DOS), c'est OK
- si soffice est lancé en saisie seulement ou non lancé, cela ne passe pas.
La différence entre mes deux machines me semble être uniquement : sur la machine de développement j'ai java - jdk 8.0_73 et sur la machine de production j'ai java - jre.8.0_66. est-ce une raison?
Voici le code de mon script MS DOS
Code : Tout sélectionner
REM repertoire courant %~dp0\
REM %1 nom fichier à convertir (avec \')
REM %2 Nom de la librairie JODConvert
REM %3 Chemin de la librairie JODConvert (avec "" pour encadrer lees répertoire avec des blancs)
rem @echo on
:entree
:existfichierorigine
set retsup = 0
if exist %1.odt GOTO suppdf
echo "Erreur fichier odt absent "
echo 1
goto fin
rem exit 1
:suppdf
IF EXIST "%1.pdf" del %1.pdf
set passage = 0
:lancejodconvert
Cd /D %3
Java -jar %2 %1.odt %1.pdf
set retcode=%errorlevel%
IF "%retcode%" EQU "0" GOTO fin
:lancesoffice
set passage=1
cd /D C:\"Program Files (x86)"\"OpenOffice 4"\program
start /B soffice.exe -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -env:UserInstallation=file:///D:/OOoEcoute/CAV
set retval=%errorlevel%
IF "%retval%" EQU "0" goto lancejodconvert2
echo "Erreur lancement soffice: "%retval%
echo 2
goto fin
:lancejodconvert2
Cd /D %3
Java -jar %2 %1.odt %1.pdf
set retcode=%errorlevel%
IF "%retcode%" EQU "0" GOTO fin
echo "Erreur Conversion: "%retcode%
echo 3
:fin
Claude