Bonsoir,
pour ceux que ça pourra intéresser, voici le script complet, testé sous
WinXP avec des fichiers .odt (devrait fonctionner sous Win7 ; peux pas
tester aujourd'hui).
Tests complémentaires à faire : divers types de fichiers bureautiques,
dont MSOffice.
Le script est à recopier dans un fichier texte nommé xxxx.cmd (moi je
l'ai appelé odf2pdf.cmd)
Principe :
-- sur le Bureau Windows, deux répertoires "a convertir" et "convertis"
(ces répertoires peuvent être placés ailleurs ou nommés différemment, il
suffira de modifier les deux variables _ConvertDir et _TargetDir en
conséquence).
-- le convertisseur cherche les fichiers à convertir dans "a convertir"
et dépose les fichiers convertis dans "convertis" (créé lorsqu'il
n'existe pas)
-- la version de LibO utilisé est à spécifier dans la variable _LibOVer.
Mes tests se sont faits avec la v5 sous XP. J'ai mis 4 pour Win7 puisque
c'est ce que j'utilise au taf...
ATTENTION !
1. Le convertisseur essaie de convertir *tous* les fichiers qu'il
trouve... Attention aux surprises pour des formats non supportés.
Pour limiter les risques, on pourrait recopier plusieurs fois la boucle
FOR en spécifiant à chaque fois l'extension à traiter.
Ex : FOR %%G IN (*.odt) DO ( etc.
puis FOR %%G IN (*.ods) DO ( etc.
etc.
2. Si LibO s'exécute au moment de la conversion, il est refermé
d'autorité ! Danger pour les fichiers en cours d'édition.
8< ----------------------------------------------------------------
@ECHO OFF
CLS
:: ---------------------------------
:: odf2pdf.cmd
:: conversion de fichiers ODF en PDF
:: version 1.0 du 11/11/2015 - JFN
:: ---------------------------------
:: utilise LibreOffice
:: sous windows XP ou Win7
:: ---------------------------------
SETLOCAL
:: quelle version de windows ? 5.1 = win xp, sinon Win7
:: => ERRORLEVEL = 0 -> WinXP sinon -> Win7
:: Dans cet exemple on utilise LibO v5 sous WinXP
:: et LibO v4 sous Win7 -> modifiez selon le contexte !
VER | FIND "5.1" > NUL
IF %ERRORLEVEL%==0 (
SET _Bureau=Bureau
SET _LibOVer=5
SET _Prog=%PROGRAMFILES%
) ELSE (
SET _Bureau=Desktop
SET _LibOVer=4
SET _Prog=%PROGRAMFILES(X86)%
)
:: on reconstitue les chemins à partir des bribes obtenues ci-dessus
:: à modifier si besoin
SET _ConvertDir=%HOMEDRIVE%%HOMEPATH%\%_Bureau%\a convertir
SET _TargetDir=%HOMEDRIVE%%HOMEPATH%\%_Bureau%\convertis
SET _LibOexe="%_Prog%\LibreOffice %_LibOVer%\program\soffice.exe"
:: mémorisation du répertoire courant
SET _OldDir=%CD%
ECHO.
ECHO 1. Forcement de la fermeture de LibreOffice
taskkill /F /IM soffice.bin > NUL 2>&1
ECHO.
ECHO 2. Creation de %_TargetDir%
MKDIR "%_TargetDir%" > NUL 2>&1
ECHO.
ECHO 3. Conversion des fichiers
ECHO vers %_TargetDir%
:: on change pour le répertoire source à cause de pbs
:: de gestion des guillemets dans la clause IN()
CD "%_ConvertDir%"
:: traitement de tous les fichiers dans le répertoire courant
FOR %%G IN (*.*) DO (
ECHO %%G
%_LibOexe% -headless -convert-to pdf -outdir "%_TargetDir%" "%%G"
)
:: retour au répertoire de départ
CD "%_OldDir%"
ENDLOCAL
:: fin de fichier -------------------
---------------------------------------------------------------- >8
Bonne fin de journée,
--
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.