Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


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.