Page 1 sur 1

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

Posté : ven. 25 mai 2012 09:59
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.

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

Posté : ven. 25 mai 2012 10:27
par jguinch
Salut
Je te propose le code suivant qui correspond (je pense) à ce dont tu as besoin.



► Afficher le texte

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

Posté : ven. 25 mai 2012 11:36
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 ?

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

Posté : ven. 25 mai 2012 11:53
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)

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

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

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

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

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

Posté : ven. 25 mai 2012 14:22
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

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

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

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

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

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

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

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

Posté : ven. 15 janv. 2016 11:38
par KHARKOV
Wahouu grand merci @jguinch !

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

Posté : ven. 07 juil. 2017 15:32
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

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

Posté : ven. 07 juil. 2017 16:15
par walkson
Bonjour,
$archives = "C:\Users\SAVERIS\Desktop\Rapports TESTO\2362528\gdfsuez\Cuisine\Archives\"& @YEAR &"\"
si j'ai bien compris :wink:

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

Posté : lun. 10 juil. 2017 08:39
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:

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

Posté : lun. 07 juin 2021 16:36
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

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

Posté : mar. 15 juin 2021 17:07
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