Impression vers multiples destinations

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
aurelj
Niveau 1
Niveau 1
Messages : 3
Enregistré le : mer. 23 janv. 2019 15:28
Status : Hors ligne

Impression vers multiples destinations

#1

Message 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
aurelj
Niveau 1
Niveau 1
Messages : 3
Enregistré le : mer. 23 janv. 2019 15:28
Status : Hors ligne

Re: Impression vers multiples destinations

#2

Message par aurelj »

Bonjour tout le monde,

Personne pour une idée à mon problème ?
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 867
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: Impression vers multiples destinations

#3

Message 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.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Répondre