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
$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