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 » mer. 23 janv. 2019 16:56

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 viewtopic.php?f=3&t=9835&p=96738&hilit= ... 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 » lun. 28 janv. 2019 17:21

Bonjour tout le monde,

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

Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 763
Enregistré le : ven. 30 mai 2008 14:08
Status : Hors ligne

Re: Impression vers multiples destinations

#3

Message par DimVar » jeu. 07 févr. 2019 14:37

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