Je cherche à modifier la configuration de l'impression d'un pdf.
Pour cela, je cherche à remplacer des données présentes dans le fichier temporaire de l'impression (lorsque la fenêtre "imprimer" de windows est ouverte).
Ainsi, je remplacerai la chaine "xxx" par la chaine "" (du vide), dans le fichier suivant: test.1
J'ai donc fait le choix logique (à mon sens) d'utiliser _ReplaceStringInFile (qui nécessite "#include <File.au3> ; pour _ReplaceStringInFile") en début de code.
Est il possible d'utiliser cette fonction sur un fichier dont le suffixe est non conventionnel? Faut il passer par un FileCopy pour renommer en *.txt?
Sachant que mon fichier fait à peu près 10000 Lignes, _ReplaceStringInFile est elle la fonction la plus adaptée (rapport fiabilité/temps d'exécution)?
Pour le moment, je passe de xxx.1 à xxx.txt pour modifier la chaine de caractère (présente plusieurs fois dans le code du document temporaire) et ensuite je repasse en xxx.pdf pour lecture du fichier pdf modifié.
Cela vous semble-t-il cohérent ? Pour le moment, rien à faire, ça ne fonctionne pas (pb de temps d'execution de la fonction? de chemin d'accès mal écrit? de droits en écriture? de fichier déjà ouvert quelque part? Je vérifie actuellement), d'ou ma question. Dès que résolu, je mettrai le code pour ceux que ça intéresserait.
Au plaisir de vous lire.
Julien.
Edit: Je suis d'abord parti sur la piste de la longueur de fichier(txt) à analyser mais celle ci n'importe pas.
En réalité, je dois ouvrir le fichier xxx.txt et l'enregistrer pour que mon code fonctionne, un peu comme si il était corrompu... Ca n'enlève rien à ma volonté de vouloir travailler directement sur un fichier *.1 afin de simplifier le code si possible. Voilà, si ça parle a quelqu'un ce soucis, je continue à creuser de mon coté.
Voici mon code actuel.
#include <File.au3> ; pour _ReplaceStringInFile
_ReplaceStringInFile(@UserProfileDir&"\AppData\Local\Temp\dossier\xxx.txt", "string1 ", " ") ; suppression de la chaine sans faire sauter la ligne en laissant un espace sur la ligne
_ReplaceStringInFile(@UserProfileDir&"\AppData\Local\Temp\dossier\xxx.txt", "string2 ", " ")
_ReplaceStringInFile(@UserProfileDir&"\AppData\Local\Temp\dossier\xxx.txt", "(string3 ", " ")
_ReplaceStringInFile(@UserProfileDir&"\AppData\Local\Temp\dossier\xxx.txt", "string1 ", " ") ; suppression de la chaine sans faire sauter la ligne en laissant un espace sur la ligne
_ReplaceStringInFile(@UserProfileDir&"\AppData\Local\Temp\dossier\xxx.txt", "string2 ", " ")
_ReplaceStringInFile(@UserProfileDir&"\AppData\Local\Temp\dossier\xxx.txt", "(string3 ", " ")