[..] Comment concaténer des pdfs réunis dans de multiples dossiers.
Posté : mar. 22 janv. 2019 15:00
Bonjour
J'essaie de regrouper des fichiers pdf selon un ordre défini par un fichier csv.
Je souhaiterais que les fichiers assemblés portent les noms des dossiers source respectifs
ou aboutissent dans les dossiers source des pdf (pour être renommer par la suite )
Quelques exemples concrets avant l’exécution du script :
dans le dossier alpha :
-40 pdf aux noms barbares
-1 fichier toto.csv permettant de fixer l'ordre d'assemblage
dans le dossier bravo :
-64 pdf aux noms barbares
-1 fichier toto.csv permettant de fixer l'ordre d'assemblage
dans le dossier charlie :
-48 pdf aux noms barbares
-1 fichier toto.csv permettant de fixer l'ordre d'assemblage
idem pour d'autres dizaines de dossiers
Je souhaiterais que les nouveaux pdf générés portent les noms des dossiers dont il sont la somme
par exemple: alpha.pdf , bravo.pdf , charlie.pdf
Ou si cela était impossible qu'ils se nomment tous outpout.pdf et soient présents dans leur dossier d'origine
(alpha, bravo, charlie etc...)
Objectif après l’exécution du script :
dans le dossier alpha :
-40 pdf aux noms barbares
-1 fichier toto.csv permettant de fixer l'ordre d'assemblage
-1 fichier alpha.pdf ou 1 fichier outpout.pdf
dans le dossier bravo :
-64 pdf aux noms barbares
-1 fichier toto.csv permettant de fixer l'ordre d'assemblage
-1 fichier bravo.pdf (assemblage des 64 pdf) ou 1 fichier outpout.pdf
etc..
Un script proposé par robertocm m'a facilité la tâche
Voir ici:
Je l'ai un peu adapté, ce qui donne :
Mais, malheureusement j'obtiens ce message:
Quand je lance une commande similaire "manuellement" au moyen de la console pour ne "traiter" qu'un seul toto.csv , ça fonctionne vite et bien.
Pourriez-vous m'aider à trouver ce qui cloche, j'ai déjà essayé beaucoup de combinaisons sans trouver la bonne solution ?
D'avance merci
lamda
J'essaie de regrouper des fichiers pdf selon un ordre défini par un fichier csv.
Je souhaiterais que les fichiers assemblés portent les noms des dossiers source respectifs
ou aboutissent dans les dossiers source des pdf (pour être renommer par la suite )
Quelques exemples concrets avant l’exécution du script :
dans le dossier alpha :
-40 pdf aux noms barbares
-1 fichier toto.csv permettant de fixer l'ordre d'assemblage
dans le dossier bravo :
-64 pdf aux noms barbares
-1 fichier toto.csv permettant de fixer l'ordre d'assemblage
dans le dossier charlie :
-48 pdf aux noms barbares
-1 fichier toto.csv permettant de fixer l'ordre d'assemblage
idem pour d'autres dizaines de dossiers
Je souhaiterais que les nouveaux pdf générés portent les noms des dossiers dont il sont la somme
par exemple: alpha.pdf , bravo.pdf , charlie.pdf
Ou si cela était impossible qu'ils se nomment tous outpout.pdf et soient présents dans leur dossier d'origine
(alpha, bravo, charlie etc...)
Objectif après l’exécution du script :
dans le dossier alpha :
-40 pdf aux noms barbares
-1 fichier toto.csv permettant de fixer l'ordre d'assemblage
-1 fichier alpha.pdf ou 1 fichier outpout.pdf
dans le dossier bravo :
-64 pdf aux noms barbares
-1 fichier toto.csv permettant de fixer l'ordre d'assemblage
-1 fichier bravo.pdf (assemblage des 64 pdf) ou 1 fichier outpout.pdf
etc..
Un script proposé par robertocm m'a facilité la tâche
Voir ici:
Je l'ai un peu adapté, ce qui donne :
#include <Constants.au3>
Local $iPID, $sOutput = ""
$sFilePath = "C:\Program Files\AutoIt3\sejda-console-3.2.66\bin\"
$sFileShort= FileGetShortName($sFilePath)
$iPID = Run(@ComSpec & " /C """ & @ScriptDir & "\sejda-console-3.2.66\bin\sejda-console.bat"" merge -l " & $sFileShort & "toto.csv -o " & $sFileShort & "output.pdf --overwrite", "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
ProcessWaitClose($iPID)
$sOutput = StdoutRead($iPID)
ConsoleWrite($sOutput)
Local $iPID, $sOutput = ""
$sFilePath = "C:\Program Files\AutoIt3\sejda-console-3.2.66\bin\"
$sFileShort= FileGetShortName($sFilePath)
$iPID = Run(@ComSpec & " /C """ & @ScriptDir & "\sejda-console-3.2.66\bin\sejda-console.bat"" merge -l " & $sFileShort & "toto.csv -o " & $sFileShort & "output.pdf --overwrite", "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
ProcessWaitClose($iPID)
$sOutput = StdoutRead($iPID)
ConsoleWrite($sOutput)
Pourtant toto.csv est bien présent au milieu des fichiers pdf.
Quand je lance une commande similaire "manuellement" au moyen de la console pour ne "traiter" qu'un seul toto.csv , ça fonctionne vite et bien.
Pourriez-vous m'aider à trouver ce qui cloche, j'ai déjà essayé beaucoup de combinaisons sans trouver la bonne solution ?
D'avance merci
lamda