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 à [hidden email]
</user/SendEmail.jtp?type=node&node=4166068&i=0> 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
------------------------------------------------------------------------
If you reply to this email, your message will be added to the
discussion below:
http://nabble.documentfoundation.org/Convertisseur-odt-en-pdf-par-lot-tp4165952p4166068.html
To unsubscribe from Convertisseur odt en pdf par lot, click here
<http://nabble.documentfoundation.org/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4165952&code=ZG9taW5pcXVlLnNleHRhbnRAb3JhbmdlLmZyfDQxNjU5NTJ8LTgyOTE2NzQ1MA==>.
NAML
<http://nabble.documentfoundation.org/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>