Le 11/11/2015 08:51, Dominique_sextant a écrit :
Ah dire vrai, je suis véritablement impressionné. Si la ligne de commande
sous Linux m'est quelque peu familière, les scripts Windows me laissent
comme une poule devant un couteau :-)
inversement, le bash m'est encore un peu étranger (mais je me soigne)
Je rebondis immédiatement sur ton offre.
Le cahier des charges est simple.
Je crée sur le bureau un répertoire que j'appelle « convertisseur ». Les
secrétaires y placent les fichiers à convertir. Le clicodrome les convertit
en pdf au même endroit. Là où ça devient plus délicat (de mon point de vue)
c'est qu'elles peuvent avoir, en source, tout ce que LIBO peut ouvrir : doc,
docx, xls, xlsx, odt, ods, odb etc.
Est-ce difficile à faire ?
a priori, non :)
Sous Win7, l'outil doit :
-- trouver le bureau de l'utilisateur (facile), donc le répertoire
"convertisseur" (c'est %HOMEDRIVE%%HOMEPATH%\Desktop\convertisseur
-- fermer LibO (facile) (taskkill)
-- lancer la conversion des fichiers concernés (ta liste d'extensions)
-- enregistrer le résultat dans le même répertoire (facile)
A priori un script shell, à partir de mon extrait précédent, peut faire
ça (comme ça, de mémoire...) :
(à enregistrer dans un fichier .cmd)
8< ------------------------------------------------
SETLOCAL
SET _ConvertDir=%HOMEDRIVE%%HOMEPATH%\Desktop\convertisseur
SET _TargetDir=%HOMEDRIVE%%HOMEPATH%\Desktop\convertis
SET _LibOExe="%PROGRAMFILES(X86)%\LibreOffice 4\program\soffice.exe"
:: forcement de la fermeture de LibO
ECHO Forcement de la fermeture de LibreOffice
taskkill /F /IM soffice.bin > NUL 2>&1
:: création des pdf dans le répertoire cible
ECHO.
ECHO Conversion des fichiers
ECHO vers %_TargetDir%
FOR %%f IN (%_ConvertDir%\*.*) DO (
ECHO %%f
%_LibOexe% -headless -convert-to pdf -outdir "%_TargetDir%" %%f
)
ENDLOCAL
------------------------------------------------ >8
À noter un point "dur" : (%_ConvertDir%\*.*) considère qu'on veut
convertir tous les fichiers. Ceci signifie qu'il "vaut mieux" éviter de
laisser traîner autre chose que des fichiers à convertir. D'où la cible
définie vers "convertis". J'ai choisi *.* pour éviter une condition
compliquée ou plusieurs boucles, une par extension à convertir.
Attention également au taskkill : la fermeture autoritaire de LibO
implique que tout document en cours d'édition est en danger...
À tester...
Maintenant, on pourrait imaginer le rendre tout-terrain/multi
plateformes et avec une IHM en recourant à Lazarus. On aurait alors le
nouveau CC :
-- l'utilisateur choisit le répertoire source (local ou réseau)
-- (facult.) il peut ne choisir que certains fichiers
-- il choisit le répertoire cible (local ou réseau)
-- l'outil mémorise les choix (ex : dans un fichier .ini)
-- l'outil trouve où est soffice.exe
-- l'outil vérifie que soffice.bin n'est pas en cours d'exécution
et prévient l'utilisateur (choix de continuer ou pas)
-- l'outil lance la conversion du lot de fichiers source
-- l'outil affiche les fichiers en cours de traitement
-- l'outil génère un log des actions/erreurs
Pour ce qui est de la prise en charge des différents formats, je n'ai
pas bcp d'expérience, en dehors des formats natifs de LibO, et
principalement odt). Ceci dit, si ça fonctionne en ligne de commande
manuelle, je ne vois pas pourquoi ça ne marcherait pas dans un fichier
de commandes.
--
Jean-Francois Nifenecker, Bordeaux
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être
supprimés
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.