[R] Script d'impression de .pdf

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
LqX
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 12:32
Status : Hors ligne

[R] Script d'impression de .pdf

#1

Message par LqX »

Bonjour,

Dans le cadre de mon travail j'aurais besoins d'automatiser des actions répétitive et n'étant pas doué avec auto it, je viens chercher de l'aide.

Les nom des fichier pdf sont dans un .txt comme ceci:

c11-4578-458
c11-4562-333
c11-6522-739

Ensuite les fichier PDF sont dans différents dossiers et sous-dossier donc une fonctions recherches est nécessaire.
Une fois les fichier pdf trouver il doivent être imprimer.

J'éspere avoir assez bien décris.
Modifié en dernier par LqX le ven. 11 nov. 2011 20:26, modifié 1 fois.
SurPriseS
Niveau 6
Niveau 6
Messages : 293
Enregistré le : jeu. 06 sept. 2007 11:35
Localisation : Finistère sud
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#2

Message par SurPriseS »

Salut ;)

http://www.synergeek.fr/imprimer-des-do ... -commande/

Mais faudrait plus de détails sur ce qu'il y'a dans tes fichiers txt..
LqX
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 12:32
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#3

Message par LqX »

Alors le fichier txt ne comprendra seulement les différents nom des fichier pdf a imprimer.

Le script devra ouvrir le fichier .txt

Creer une boucle

Si la ligne 1 n'est pas vide alors mettre la valeur de la ligne dans une variable et ajouter .pdf puis rechercher ce fichier pdf
dans les dossier et l'imprimer

ensuite changer la valeur de la variable ligne +1 pour sauter de ligne et faire ceci avec chaque ligne
ayant une valeur pour enfin arriver a une ligne vide et arreter la boucle.
LqX
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 12:32
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#4

Message par LqX »

Pour le moment j'arrive a extaire du .txt etc..

Je bloque au moment de rechercher le fichier.pdf

Les fichier pdf sont chacun dans des dossier variables.

Comment effectuer une recherche de fichier dans des dossier et sous dossier a partir de l'endroit ou se trouve le script.

Merci
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#5

Message par PandiPanda »

Bonjour, voici qui pourrai vous aider ^^
► Afficher le texte
Voici quelque Lien utile:
- pour la fonction _imprim() regarder ici , je suis certain que vous pourrez la modifié à votre guise
- pour la l'udf "RecFileListToArray.au3", il se trouve ici
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
LqX
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 12:32
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#6

Message par LqX »

Merci pour ton aide mais tu a été trop vite et n'étant pas un utilisateur confirmé je ne comprend pas grand chose.

Voici une partie du code que j'ai déjà fais :

Code : Tout sélectionner

$repertoir = "01.txt" 
$lign = "1"
$file = FileOpen($repertoir, 0)
$end = "0"


while ( $end <> 1 )
    
$read = FileReadLine($file, $lign) ;- on lit la ligne et on la stocke en mémoire.
ConsoleWrite($read & @CRLF)

if($read <> "") then
    $name = $read & "F.pdf"

$lign = $lign + 1 ; saut de ligne
MsgBox(0, "Test", "Voici ta variable: " & $name)

; a partir de là il faudrai rechercher le fichier $name 




else 
    MsgBox(0, "Test", "Ligne vide: ")
    $end = "1"

EndIf
WEnd


FileClose($file)

Bon c'est un code brouillons mais qui m'aide bien a comrpendre.
Comme tu vois il arrive a récuperer chaque ligne du txt.

Ce que je ne comprend pas c'est pour rechercher car :

Code : Tout sélectionner

$ar_Array = _RecFileListToArray (@ScriptDir, $name, 1, 1, 1, 1, "Temp")
Sa marche sa me trouve le .pdf seulement ensuite je ne sais pas comment récuperer l'emplacement pour ensuite lancer une impression.

Merci de votre aide.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#7

Message par Tlem »

Une fois récupéré le chemin du fichier à partir du tableau, lisez ceci : http://www.autoitscript.fr/forum/viewto ... =11&t=4794
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
LqX
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 12:32
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#8

Message par LqX »

Il me trouve le fichier .pdf recherché le problème étant que je ne sais pas comment récupéré la valeur étant dans col 0 pour l'utiliser ensuite à l'impression.
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#9

Message par PandiPanda »

à vrai dire le code que je t'ai donné fait tous :p
mais je vais essayer d'expliquer clairement.

Ce que vous vous voulez faire avec votre "fileOpen()" et fileRead()
est de lire ligne a ligne et de faire les actions en conséquence.

j'ai préférer utiliser la fonction _fileReadToArray() Qui permet de directement lire ligne par ligne le fichier et d'y stockée dans un tableau. (afin de le parcourir, plus aisément)

Ensuite j'ai utilisé la fonction _RecFileListToArray (@ScriptDir, $name, 1, 1, 0, 2) qui permet de faire une recherche récursive dans tout le dossier, pour connaitre les parametre nécessaire, que vous avez besoin, il suffit de lire la "documentation" de la fonction.

Si j'ai bien compris ce que vous devez faire, c'est de lire un nom de fichier dans un fichier texte.
extirper chaque nom de chaque ligne dans ce fichier texte. Ensuite faire une recherche récursive (dans chaque dossier/sous dossier) si vous trouver ce "nom de fichier" et ensuite l'imprimer.

Donc en gros ce que vous avez besoin au final c'est la "path" du fichier à imprimer, ok? ^^
Il faut donc regarder dans les parametre de la fonction, ce qui permet de récuperer SEULEMENT les fichier, et SEULEMENT le path du fichier, étant donné que le reste nous n'avons pas besoin !

Bien lisons la documention (elle se trouve dans l'udf)
► Afficher le texte
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#10

Message par Tlem »

Edit : Grillé par PandiPanda.
Mais je laisse l'explication ci-dessous qui servira peut être au demandeur.

Puisque vous avez utilisé ceci :

Code : Tout sélectionner

$ar_Array = _RecFileListToArray (@ScriptDir, $name, 1, 1, 1, 1, "Temp")
Les valeurs sont accessibles par le tableau $ar_Array.
Chaque élément est rangé dans des 'cases' dont le nombre est indiqué dans l'élément 0 (soit $ar_Array[0]).

Vous devez donc faire une boucle de lecture (généralement une boucle FOR) pour lire les éléments de 1 à $ar_Array[0] (ou encore UBound($ar_Array) - 1).

Regardez l'exemple de la documentation de la commande UBound().
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
LqX
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 12:32
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#11

Message par LqX »

Il me semble que j'ai compris le système.

En tous cas merci de l'aide et du temps que tu a pris pour m'expliquer cela.
Je vais voir ce que sa donne et une fois fini je la métrai et fermerai ce topic.
LqX
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 12:32
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#12

Message par LqX »

Bon alors voici le code il fonctionne quand je l'éxécute depuis l'éditeur mais quand je le lance en passant par Click-Droit/Run script ou alors executant le .exe compiler ce message apparait :

$PFile = $monArrayDeFichier[1]
$PFile = $monArrayDeFichier^ ERROR

Error: Subscript used with non-Array variable.
► Afficher le texte
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#13

Message par PandiPanda »

il est possible qu'il ne trouve pas de fichier non?

je mettrai une condition, comme

Code : Tout sélectionner

...
if isArray($monArrayDeFichier) then 
    If UBound($monArrayDeFichier)> 1 Then
        $PFile = $monArrayDeFichier[1]
        Run(@ProgramFilesDir & '\Adobe\Reader 10.0\Reader\AcroRd32.exe /N /T "' & $PFile & '"' ,'' ,@SW_HIDE)  
        sleep (1000)
    EndIf
endif
....
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
LqX
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 12:32
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#14

Message par LqX »

Normalement tous les fichier étant dans le .txt sont trouvable.

Ce qui est étrange c'est que quand j'execute le code a partir de l'editeur sa fonctionne a merveille mais en l'executant en dehors sa plante.

Où dois-je ajouter ton code ?
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#15

Message par PandiPanda »

question idiote, le .exe se trouve ou? ^^
dans le dossier ou il doit effectuer les recherches ? ainsi que dans le meme dossier que le fichier .txt?

et comme ceci :p
► Afficher le texte
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
LqX
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 12:32
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#16

Message par LqX »

Alors tu as un dossier avec dedans.

Le script.
Le txt.
Ensuite un dossier et ces sous-dossiers avec les différents PDF.

Les Fichier qu'il ne trouvait pas j'ai compris pourquoi sa c'est réglée.

Quand je l'éxecute depuis l'éditeur il m'imprimes les différents PDF mais quand je le fait hors l'editeur il ne se passe rien.
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#17

Message par PandiPanda »

étrange ... très étrange même !

essayer ce script ...
il est le même que le vôtre j'ai juste ajouter quelque vérification pour la gestion d'erreur, enlever des variables inutiles, et ajouter une messageBox() pour savoir sur quel fichier il bug :p
► Afficher le texte
ps: non je n'ai pas teamviewer '^^
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
LqX
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 12:32
Status : Hors ligne

Re: [..] Script d'impression de .pdf

#18

Message par LqX »

Cela fonctionne a merveille.

Le problème venait du faite que j'executai le script en x64 hors je devais l'executer en x86 et là il fonctionne.

Merci beaucoup de ton aide et du temps que tu a pris pour m'expliquer cela.
Et je crois que Auto it me plait :D
Répondre