URGENT ! : Rechercher un fichier pdf contenant un texte précis
catisback
Messages postés11Date d'inscriptionmardi 15 juin 2004StatutMembreDernière intervention25 juillet 2007
-
23 juil. 2007 à 14:07
loukilaiman
Messages postés5Date d'inscriptiondimanche 26 février 2006StatutMembreDernière intervention18 avril 2008
-
18 avril 2008 à 10:00
Bonjour à tous
Je cherche un code me permettant (à l'aide des api Windows par exemple) de
rechercher un fichier pdf contenant une chaine de caractère précise. Un peu
comme le fait la recherche de fichiers de Windows quand on lui demande "Un
mot ou une phrase dans le fichier".
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 23 juil. 2007 à 22:42
Bonjour,
Je ne sais pas si tu as remarqué le temps que prenait Windows pour faire une telle recherche
depuis l'esplorateur... Un certain temps... pour ne pas dire un temps certain...
Que fait-il ? Il va de repertoire en répertoire, de fichier en fichier... ouvre chacun des fichiers (un par un)
et y recherche l'occurence en cause. S'il la trouve : il ajoute le fichier concerné dans une liste de résultats.
Tu peux réinventer la roue et faire la même chose ... et envoyer tes résultats positifs dans une listbox.
Mais dis-toi bien que "ça va ramer dur", ton affaire !....
Comment parcourir ainsi tous les fichiers de tous les répertoires et sous-répertoires ?
That's the question !
Et la réponse est : exactement de la même façon récursive que pour copier un répertoire, ses sous-répertoires
et tous mles fichiers qu'ils contiennent. Tu as pour comprendre ce mécanisme une source (au moins une)
déposée (copie d'un répertoire). Vas-y donc...
catisback
Messages postés11Date d'inscriptionmardi 15 juin 2004StatutMembreDernière intervention25 juillet 2007 24 juil. 2007 à 09:15
Merci pour la réponse de jmfmarques.
1 explication, 1 petit problème...
L'explication : Je dois en réaliter fusionner deux fichiers pdf le premier en se basant sur son nom, le deuxième contenant
dans son texte, le nom du premier. D'où le fait que je doive rechercher une chaine de caractère dans un fichier (mais dans un dossier spécifié pour gagner du temps)
Le petit problème : Je ne trouve pas la source dont tu me parles : peux-tu me poster le lien ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 24 juil. 2007 à 11:19
Bon,... me voilà de retour...
Tu disais donc connaître le répertoire...
Inutile alors d'aller fouiller partout !
Regarde ce que fait ceci (avec un bouton de commande Command1 et une listbox List1 :
Private Sub Command1_Click()
chemin = "c:\ton_repertoire"
fic = Dir(chemin & "*.pdf")
Do While fic <> ""
List1.AddItem fic
fic = Dir
Loop
End Sub
Tu observes que tu es ainsi capable de lister tous les fichiers pdf de ton_répertoire
Que te faut-il alors faire ?
Fastoche :
Au lieu d'envoyer dans une listbox chacun des fichiers :
tu l'ouvres
tu y recherches ton occurrence
si tu ne la trouve pas tu ne fais rien
si tu la trouves, tu exécutes les instructions de ton choix
De cette manière : chacun des fichiers pdf de ton_répertoire sera recense, ouvert, lu ... et objet de tes décisions.
Pour ce qui est de l'ouverture d'un fichier et de la recherche d'une occurrence , tu as sur ce forum une foultitude d'exemples.
Allez.... A toi maintenant de travailler (ce qui manque ici est maintenant vrfaiment peu).
Vous n’avez pas trouvé la réponse que vous recherchez ?
catisback
Messages postés11Date d'inscriptionmardi 15 juin 2004StatutMembreDernière intervention25 juillet 2007 24 juil. 2007 à 12:35
Merci pour ton bout de code, mais le hic est bien dans le fait de " l'ouverture d'un fichier et
de la recherche d'une occurrence " quand il s'agit d'un pdf !
Si les fichiers étaient des fichiers texte ca ne me poserait aucun problème. Essaye d'ouvrir
un pdf à l'aide d'un éditeur de texte genre Notepad et tu comprendras qu'il n'y a rien de
clairement identifiable dedans.. si au moins je pouvais le traduire dans une chaine de caractères
compréhensible... j'ai essayé des outils de conversion de pdf en txt, mais ils ne possèdent pas d'ocxa
ou sont beaucoup trop lents (temps d'écriture sur le disque...) pour que ce soit acceptable pour mon
client (imaginons une recherche dans 200 ou 300 fichiers éventuellement).
Sinon je sais qu'il existe des ocx qui font ce genre de boulot mais, pour celles que je connais, elles coutent
entre 300 et 950 $ : trop cher pour moi !