Signaler

Conversion de PDF via PDFCreator

Posez votre question Ainselia 13Messages postés vendredi 22 septembre 2017Date d'inscription 10 novembre 2017 Dernière intervention - Dernière réponse le 11 nov. 2017 à 11:50 par barnabe0057
Bonjour,

J'ai fais un script Batch qui me permet bien de convertir des fichiers .docx en pdf, mais lors de le génération du fichier, la fenêtre du pdf s'ouvre, or je souhaiterai qu'il ne se passe rien pour que la conversion se passe en arrière-plan.
J'ai pourtant mis un /NoStart

J'ai aussi une deuxième question, est-il possible de convertir plusieurs types de fichiers? J'ai mis un \*.docx mais y'a-t'il un moyen de faire quelque chose qui marcherait aussi pour tous les Excels, PowerPoint, ect... ?

Je met mon code ici :

pushd "C:\Program Files\PDFCreator\"
FOR %%i in (C:\Users\cth-admin\Documents\*.docx) do PDFCreator.exe /NoStart /PrintFile="%%i"
popd
Utile
+0
plus moins
Bonjour,

Installe la version 3 de PDF Creator.

Le commutateur /NoStart est ancien, il ne fonctionne plus avec les versions récentes.

Essaie comme ça :

set PATH=%PATH%;"C:\Program Files\PDFCreator"
cd /d "%USERPROFILE%\Documents"

FOR %%i in (*.doc *.docx *.xls *.xlsx *.pptx *.xlsm *.docm *.ppt) do (PDFCreator.exe /PrintFile="%%~i")

Il faut au préalable configurer ton profil en automatique au lieu d'interactif.



“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
Ainselia 13Messages postés vendredi 22 septembre 2017Date d'inscription 10 novembre 2017 Dernière intervention - 10 nov. 2017 à 12:02
C'est bon problème résolu, c'était un paramétrage dans PDFCreator a décocher ("Afficher l'image") tout simplement, merci beaucoup pour la réponse :)

Après je me retrouve encore avec un autre soucis, j'arrive à convertir plusieurs fichiers de plusieurs types en pdf, j'arrive même à le faire sur des fichiers présents dans de sous-dossiers, par contre mon problème est que ceux-ci se mettent dans un même dossier d'arrivée au lieu de refaire l'arborescence du dossier de départ.

Exemple :

pathTestDepart (mon dossier de départ)
Dossier1 (2 fichiers .doc)
Dossier2 (2 fichiers .xls)

pathTestArrivée (mon dossier d'arrivée)
fichier1.doc
fichier2.doc
fichier1.xls
fichier2.xls

Alors que je voudrais que cela refasse l'arborescence de base comme ceci :

pathTestarrivée
Dossier1 (2 fichiers .doc)
Dossier2 (2 fichiers .xls)

Voici mon code :

pushd "C:\Program Files\PDFCreator"
FOR /r %pathTestDepart% %%i in (*.doc *xls *txt) do PDFCreator.exe /NoStart /PrintFile="%%i"
popd

(Désolée je commence tout juste le Batch donc je ne connais pas grand chose encore, et j'ai du mal a trouver ce que je cherche via des recherches internet...)
Répondre
barnabe0057 11622Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 11 novembre 2017 Dernière intervention - 11 nov. 2017 à 11:50
Ca commence à se compliquer.

Voilà un exemple :

@echo off
Setlocal EnableExtensions EnableDelayedExpansion

set pathTestDepart=%USERPROFILE%\Documents
set pathTemporaire=%TEMP%

set PATH=%PATH%;"C:\Program Files\PDFCreator"
cd /d %pathTestDepart%

set destination=%USERPROFILE%\Desktop\PDF

FOR /F "tokens=*" %%A in ('dir /b /s /a-d "*.odt"') do (

set file=%%~dpA

echo. & echo Traitement du fichier : %%~nxA

set newFilePath=!file:%pathTestDepart%=%destination%!

call :traitement "%pathTemporaire%" "%%~nA.pdf" "!newFilePath!" "%%~A"

)

echo. & pause

exit /B



:traitement

if not exist "%~3" (mkdir "%~3")

PDFCreator.exe /PrintFile="%~4"

:check

if not exist "%~1\%~2" (goto :check)

ping -n 1 localhost >nul

move /Y "%~1\%~2" "%~3%~2" || goto :check

goto :eof

rem

Cet exemple fonctionne avec un seul type de fichiers, je te laisse chercher un peu avant de te donner la solution finale.
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !