[R] Script d'impression de .pdf
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Script d'impression de .pdf
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.
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

- Messages : 293
- Enregistré le : jeu. 06 sept. 2007 11:35
- Localisation : Finistère sud
- Status : Hors ligne
Re: [..] Script d'impression de .pdf
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..
http://www.synergeek.fr/imprimer-des-do ... -commande/
Mais faudrait plus de détails sur ce qu'il y'a dans tes fichiers txt..
Re: [..] Script d'impression de .pdf
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.
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.
Re: [..] Script d'impression de .pdf
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
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
- PandiPanda
- Membre émérite

- Messages : 656
- Enregistré le : mar. 19 juil. 2011 14:03
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] Script d'impression de .pdf
Bonjour, voici qui pourrai vous aider ^^
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
► Afficher le texte
- 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
Re: [..] Script d'impression de .pdf
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 :
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 :
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.
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")Merci de votre aide.
- Tlem
- Site Admin

- Messages : 11830
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Script d'impression de .pdf
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é".
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é".
Re: [..] Script d'impression de .pdf
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.
- PandiPanda
- Membre émérite

- Messages : 656
- Enregistré le : mar. 19 juil. 2011 14:03
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] Script d'impression de .pdf
à 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)
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
- Tlem
- Site Admin

- Messages : 11830
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Script d'impression de .pdf
Edit : Grillé par PandiPanda.
Mais je laisse l'explication ci-dessous qui servira peut être au demandeur.
Puisque vous avez utilisé ceci :
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().
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")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é".
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é".
Re: [..] Script d'impression de .pdf
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.
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.
Re: [..] Script d'impression de .pdf
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.
$PFile = $monArrayDeFichier[1]
$PFile = $monArrayDeFichier^ ERROR
Error: Subscript used with non-Array variable.
► Afficher le texte
- PandiPanda
- Membre émérite

- Messages : 656
- Enregistré le : mar. 19 juil. 2011 14:03
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] Script d'impression de .pdf
il est possible qu'il ne trouve pas de fichier non?
je mettrai une condition, comme
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
Re: [..] Script d'impression de .pdf
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 ?
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 ?
- PandiPanda
- Membre émérite

- Messages : 656
- Enregistré le : mar. 19 juil. 2011 14:03
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] Script d'impression de .pdf
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
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
Re: [..] Script d'impression de .pdf
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.
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.
- PandiPanda
- Membre émérite

- Messages : 656
- Enregistré le : mar. 19 juil. 2011 14:03
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] Script d'impression de .pdf
é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
ps: non je n'ai pas teamviewer '^^
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
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Re: [..] Script d'impression de .pdf
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
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

