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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Utilisateur 3309 supprimé
Status : Hors ligne

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

#1

Message par Utilisateur 3309 supprimé »

Bonjour,

je souhaiterai une applciation qui imprime automatiquement tous les fichiers PDF que je dépose dans un dossier bien défini, par exemple: C:\dossier\
Quelqu'un at'il un script qui pourrait me servir de base pour démarrer ?
Pour l'impression on pourra executer foxit reader.exe en ligne de commande, j'ai testé en batch et ca marche très bien.

Merci de votre aide.
Modifié en dernier par Utilisateur 3309 supprimé le ven. 25 mai 2012 22:48, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] impression auto. des fichiers déposés dans un dossi

#2

Message par jguinch »

Salut
Je te propose le code suivant qui correspond (je pense) à ce dont tu as besoin.



► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Utilisateur 3309 supprimé
Status : Hors ligne

Re: [..] impression auto. des fichiers déposés dans un dossi

#3

Message par Utilisateur 3309 supprimé »

Merci !!!

Les fichiers sont supprimés du dossier mais ils ne sont pas imprimés, pourtant le code me semble correct...

quand je fait en dos:
"C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe" /p "C:\temp\fichier1.pdf"
ou bien
"C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe" /t "C:\temp\fichier1.pdf"
Cela fonctionne...

Ce ne serait pas un probleme de "" dans le chemin de foxit reader ?
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] impression auto. des fichiers déposés dans un dossi

#4

Message par jguinch »

Est-ce que tu as modifié la variable $pdfReader ?
Elle doit correspondre au chemin de l'exécutable sur ta machine, il ne faut pas laisser ce que j'ai mis.
Le chemin que j'ai mis n'est pas le bon il semblerait. (je n'ai pas Foxit Reader)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Utilisateur 3309 supprimé
Status : Hors ligne

Re: [..] impression auto. des fichiers déposés dans un dossi  

#5

Message par Utilisateur 3309 supprimé »

effectivement je n'ai pas modifié la variable :wink:
il manque le \Foxit Software\ dans le chemin. ce qui donne :

Code : Tout sélectionner

$pdfReader = @ProgramFilesdir & "\Foxit Software\Foxit Reader\Foxit Reader.exe"
Et là ca fonctionne parfaitement 8)

Merci à toi !!

J'ai écumé internet en long et en large pour trouver un programme qui fait ca ! il n'existe rien de gratuit qui le fait aussi simplement et efficacement... 8)
Utilisateur 3309 supprimé
Status : Hors ligne

Re: [..] impression auto. des fichiers déposés dans un dossi

#6

Message par Utilisateur 3309 supprimé »

serait il possible d'ajouter une GUI, une simple fenetre avec un bouton pour arreter proprement l'appli ?

J'ai tenté ca, mais ca ne marche pas:
► Afficher le texte
Rien ne se passe lorsque je clique sur stop...je pense que c'est le Sleep($timeToWait * 1000) qui perturbe...mais je vois pas comment contourner le problème...

Edit:
en commentant la ligne ca marche, du coup il n'y a plus d'attente.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] impression auto. des fichiers déposés dans un dossi

#7

Message par jguinch »

C'est le problème d'un Sleep quand on utilise les fenêtres.
La solution (que j'utilise en tout cas) c'est de passer par un timer :

► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
remz1
Niveau 1
Niveau 1
Messages : 1
Enregistré le : mar. 26 févr. 2013 22:25
Status : Hors ligne

Re: [R] impression auto. des fichiers déposés dans un dossie

#8

Message par remz1 »

Bonjour, voilà j'ai trouvé votre script intéressant pour contourner un partage d'imprimante impossible.
Déjà pour info, je suis au niveau -1 de la programmation, mais en essayant de comprendre la logique du programme j'ai repris votre script GUI et je l'ai mis comme suis :
► Afficher le texte
En fait je viens vers vous car 2 problèmes se posent à moi
- adobe reader XI ne se ferme pas après l'impression, ce qui empêche la suite du script (tant que reader ne se ferme pas le fichier reste présent dans le dossier)
- le bouton "arreter les impressions" reste grisé et seul une fin de tache par le gestionnaire de programme peut l'arrêter

Pour info, le script est actuellement sur un windows xp

Dans l'attente de vous lire, je vous souhaite une bonne soirée
KHARKOV
Niveau 1
Niveau 1
Messages : 2
Enregistré le : jeu. 14 janv. 2016 19:22
Status : Hors ligne

Re: [R] impression auto. des fichiers déposés dans un dossie

#9

Message par KHARKOV »

Bonjour,

Je me permets de ré-ouvrir ce vieux post, car je bloque sur la fermeture post impression de Foxit Reader. En effet, comme le post précédent, une fois que l'impression est terminé, le logiciel reste ouvert, comme le script ouvre Foxit Reader en RunWait, il attend qu'il est terminé totalement (donc fermé), par conséquent tant que le logiciel reste ouvert, il est impossible de continuer.
Impossible de trouver une commande qui permette de fermer Foxit Reader, voyez-vous une autre solution ?

Merci d'avance.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] impression auto. des fichiers déposés dans un dossie

#10

Message par jguinch »

Perso, j'ai réglé le problème d'impression PDF avec Sumatra PDF. J'ai pris la version portable qui est parfait pour ça, on peut spécifier l'imprimante qu'on veut (ou celle par défaut) et (surtout) utiliser le paramètre -exit-on-print pour fermer l'appli à la fin de l'impression.
Si ça t'intéresse, c'est par ici
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
KHARKOV
Niveau 1
Niveau 1
Messages : 2
Enregistré le : jeu. 14 janv. 2016 19:22
Status : Hors ligne

Re: [R] impression auto. des fichiers déposés dans un dossie

#11

Message par KHARKOV »

Wahouu grand merci @jguinch !
bertux
Niveau 1
Niveau 1
Messages : 2
Enregistré le : ven. 07 juil. 2017 14:46
Status : Hors ligne

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

#12

Message par bertux »

Bonjour,

Je suis tombé sur votre site en cherchant une solution pour imprimer les PDFs contenus dans un répertoire.
J'ai ajouter 1 bricole au script de départ mais il y a une chose que je n'ai pas trouvé.

Ma question est la suivante :
Mon logiciel génère des PDF dans un répertoire qui change de nom chaque année (2014, 2015, 2016, 2017 ...).

Est-ce qu'il existe un moyen de récupérer l'année et de l'inclure au chemin d'accès ou sont stockés les PDF ?

J'ajoute le script que j'ai modifié, j'espère avoir été assez clair dans mes explications et je vous remercie pour l'aide que vous pourriez m'apporter. :bisou:
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
$dir = "C:\Users\SAVERIS\Desktop\Rapports TESTO\2362528\gdfsuez\Cuisine\2017"     ; Emplacement des fichiers
$timeToWait = 120   ; Temps d'attente entre 2 cycles (en secondes)
$pdfReader = @ProgramFilesdir & "\SumatraPDF\SumatraPDF.exe"
$pdfReaderParams = "-print-to-default -exit-on-print"
$archives = "C:\Users\SAVERIS\Desktop\Rapports TESTO\2362528\gdfsuez\Cuisine\Archives\2017\" ; Emplacement des fichiers archivés


While 1

    ; On liste les fichiers 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 & '"')

            ; On archive le fichier
            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 * 1000)

WEnd
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

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

#13

Message par walkson »

Bonjour,
$archives = "C:\Users\SAVERIS\Desktop\Rapports TESTO\2362528\gdfsuez\Cuisine\Archives\"& @YEAR &"\"
si j'ai bien compris :wink:
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
bertux
Niveau 1
Niveau 1
Messages : 2
Enregistré le : ven. 07 juil. 2017 14:46
Status : Hors ligne

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

#14

Message par bertux »

walkson a écrit : ven. 07 juil. 2017 16:15 Bonjour,
$archives = "C:\Users\SAVERIS\Desktop\Rapports TESTO\2362528\gdfsuez\Cuisine\Archives\"& @YEAR &"\"
si j'ai bien compris :wink:
Oh punaise ! Je vous aime :bisou:
moreje
Niveau 1
Niveau 1
Messages : 1
Enregistré le : lun. 07 juin 2021 16:28
Status : Hors ligne

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

#15

Message par moreje »

Bonjour,
je déterre un peu ce post....
je debute completement... ce scripte fonctionne bien, il envoie bien les fichiers du dossier à l'imprimante, mais par contre, la fenetre ne recupere pas la main, et le bouton reste grisé.
Savez vous ce qui peut clocher?
Merci
Avatar du membre
keving
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mar. 01 juin 2021 16:00
Status : Hors ligne

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

#16

Message par keving »

Salut,

Grossomodo, si tu utilises Adobe Reader DC / Foxit Reader le processus ne se termine pas vraiment, donc RunWait ne se termine jamais et donc le bouton reste grisé.

Si tu veux contourner ce problème, tu dois utiliser Sumatra PDF comme expliqué dans un message plus haut.
► Afficher le texte


Sinon j'ai développé un petit utilitaire qui fait la même chose (en même temps je me suis basé sur leur code donc c'est censé marcher de la même manière) mais avec une UI un peu plus développée (enfin je crois): https://github.com/kevingrillet/AutoIt-PDFFolderPrint

Si jamais vous trouvez quelque chose qui cloche, n'hésitez pas à le remonter :D
Répondre