Page 1 sur 1

Impression vers multiples destinations

Posté : mer. 23 janv. 2019 16:56
par aurelj
Bonjour,

Je souhaite développer un script qui me permet d'imprimer automatiquement les PDF stockés dans différents répertoires, de les envoyer vers des imprimantes spécifiques et de conserver une trace qui me dit si le fichier a bien été imprimé ou non.

Pour être plus clair : imprimer X PDF du dossier A vers l'imprimante A, passer au dossier B et imprimer les X PDF vers l'imprimante B, etc...

Etant totalement débutant dans la programmation, je me suis inspiré du sujet https://www.autoitscript.fr/forum/viewt ... nte#p67131 qui m'a permis d'orienter correctement mes destinations d'impressions.

Cependant je bloque complètement sur la partie des logs... je vous joins un morceau du code que j'ai adapté (désolé si c'est brouillon, je n'y connais pas grand chose :roll: )

Je vous sollicite pour mettre un peu d'ordre dans mon script (le simplifier ?) ainsi que pour la partie log.

Par avance, merci de votre aide.
; Déclaration des variables
Global $timeToWait = 5     ; Temps d'attente entre 2 PDF (en secondes)
Global $TimeToEnd = 15  ; Temps d'attente entre 2 cycles (en secondes)
Global $pdfReader = "C:\SumatraPDF\SumatraPDF.exe" ; Chemin du reader de PDF

PDF_PRINT()

Func PDF_PRINT()
   Dim $dirA = "C:\TEMP\A01"        ; Emplacement des PDF dans le répertoire A
   Dim $dirB = "C:\TEMP\B01"      ; Emplacement des PDF dans le répertoire B
   Dim $dirC = "C:\TEMP\C01"     ; Emplacement des PDF dans le répertoire C
   Dim $pdfReaderParamsA = '-print-to "SHARP INFO" -exit-when-done'     ; Impression vers SHARP INFO puis quitte
   Dim $pdfReaderParamsB = '-print-to "SHARP_QUALITE" -exit-when-done'     ; Impression vers SHARP_QUALITE puis quitte
   Dim $pdfReaderParamsC = '-print-to "PDFCreator" -exit-when-done'     ; Impression vers PDFCreator puis quitte

While 1

    ; On liste les fichier PDF dans le répertoire A
    $searchA = FileFindFirstFile($dirA & "\*.pdf")

    If $searchA <> -1 Then
        While 1
            Local $pdfFile = FileFindNextFile($searchA)  ; On liste les fichiers 1 à 1
            If @error Then ExitLoop ; On sort de la boucle à la fin de la liste

            ; On lance le Reader avec les options d'impression
            RunWait( $pdfReader & ' ' & $pdfReaderParamsA & ' "' &  $dirA & "\" & $pdfFile & '"')

         ; On supprime le fichier pour qu'il ne soit pas imprimé le coup d'après
         FileDelete($dirA & "\" & $pdfFile)

         ; On attend la valeur "TimeToWait" secondes avant de lancer l'impression du PDF suivant
         Sleep($timeToWait * 1000)

        WEnd

    EndIf
   FileClose($searchA)

; On répète l'opération pour les répertoires suivants

Re: Impression vers multiples destinations

Posté : lun. 28 janv. 2019 17:21
par aurelj
Bonjour tout le monde,

Personne pour une idée à mon problème ?

Re: Impression vers multiples destinations

Posté : jeu. 07 févr. 2019 14:37
par DimVar
Bonjour,

Plus simple, on peut difficilement :D
Pour logguer les actions, j'ai parcouru rapidement la doc de sumatra pour le mode console, et à part le mode -console, il n'y pas de log en natif.
Il te faudra donc logguer les lignes de ton script dans une variable (stocker les return code des function nécessaires) puis remplir un fichier avec cette variable en fin de boucle.


Cdlt, Dimvar.