[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é » ven. 25 mai 2012 08:59

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 21:48, modifié 1 fois.

Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2469
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 » ven. 25 mai 2012 09:27

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é » ven. 25 mai 2012 10:36

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 : 2469
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 » ven. 25 mai 2012 10:53

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é » ven. 25 mai 2012 12:13

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é » ven. 25 mai 2012 13:06

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 : 2469
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 » ven. 25 mai 2012 13:22

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 » mar. 26 févr. 2013 23:06

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 » jeu. 14 janv. 2016 19:27

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 : 2469
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 » jeu. 14 janv. 2016 22:45

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 » ven. 15 janv. 2016 11:38

Wahouu grand merci @jguinch !

bertux
Niveau 1
Niveau 1
Messages : 2
Enregistré le : ven. 07 juil. 2017 13:46
Status : Hors ligne

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

#12

Message par bertux » ven. 07 juil. 2017 14:32

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 : 725
Enregistré le : ven. 12 août 2011 18:49
Localisation : Essonne
Status : Hors ligne

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

#13

Message par walkson » ven. 07 juil. 2017 15:15

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

bertux
Niveau 1
Niveau 1
Messages : 2
Enregistré le : ven. 07 juil. 2017 13:46
Status : Hors ligne

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

#14

Message par bertux » lun. 10 juil. 2017 07:39

walkson a écrit :
ven. 07 juil. 2017 15: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:

Répondre