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 02:08
Status : Hors ligne

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

#1

Message par sfaye »

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
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#2

Message par mikell »

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