Conversion de PDF via PDFCreator

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

1 réponse

  1. 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.”
    1. 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...)
    2. @AinseliaCa 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.