impression auto. des fichiers déposés dans un dossier

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
sfaye
Niveau 1
Niveau 1
Messages : 1
Enregistré le : jeu. 08 août 2019 01:08
Status : Hors ligne

impression auto. des fichiers déposés dans un dossier

#1

Message par sfaye » jeu. 08 août 2019 01:18

Bonjour,
Je suis tout nouveau et j'ai découvert accidentellement votre forum et donc le langague AutoIt.
Je me permet de demander votre aide sur un script permettant d'imprimer les fichiers pdf d'un répertoire automatiquement.
Je suis parti des exemples du sujet "impression auto. des fichiers déposés dans un dossier" (viewtopic.php?t=9835).
Le script fonctionne, sauf que j'ai quelques ratté. Des fois le fichier est supprimer sans impression. Je pense que le soucis vient du temps d'attentes entre deux impressions et temps pour tester la présence d'un nouveau fichier. Je souhaite lancer l'impression automatiquement lorsque le fichier est enregistrer dans le répetoire.
Merci d'avance
$dir = "C:\FACTURES"     ; Emplacement des ficheirs
$archives = "C:\FACTURES_ARCHIVES\" ; Emplacement des
$timeToWait = 60   ; Temps d'attente entre 2 cycles (en secondes)
$pdfReader = "C:\Program Files (x86)\Foxit Software\Foxit Reader\FoxitReader.exe"
$pdfReaderParams = "/p"

While 1

    ; On liste les fichier PDF
    $search = FileFindFirstFile($dir & "\*.pdf")

    If $search <> -1 Then
       
        While 1
            Local $pdfFile = FileFindNextFile($search)  ; 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 & ' ' & $pdfReaderParams & ' "' &  $dir & "\" & $pdfFile & '"')
                       
            ;FileCopy( $dir & "\" & $pdfFile , $archives , $FC_OVERWRITE + $FC_CREATEPATH )
            ; On supprime le fichier pour qu'il ne soit pas imprimé le coup d'après
            FileDelete($dir & "\" & $pdfFile)          
        WEnd
               
    EndIf
       
    FileClose($search)
       
    ; On attend un moment avant de tester de nouveau la présence de fichiers PDF
    Sleep($timeToWait * 500)

WEnd

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5869
Enregistré le : dim. 29 mai 2011 16:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: impression auto. des fichiers déposés dans un dossier

#2

Message par mikell » jeu. 08 août 2019 15:31

Peux pas tester, mais personnellement je tenterais de forcer la fermeture de Foxit après chaque impression avec un
ProcessClose("FoxitReader.exe")
ProcessWaitClose("FoxitReader.exe")
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )

Répondre