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