[Php] Indexation de document Pdf, Doc ou Xls sous PHP / MySQL

Indexation de document Pdf, Doc ou Xls sous PHP / MySQL [Php] - PHP - Programmation

Marsh Posté le 16-02-2007 à 14:06:04    

Bonjour,
 
Dans un besoin d'indexation de documents de type pdf ou autres dans mon Intranet de gestion de contenu (type CMS)
 
J'ai besoin de fonction ou d'un script permettant soit le parcourir le contenu d'un Pdf soir d'en prendre tous les mots afin de les mettre dans un champ de ma BD sous Mysql.
 
Il existe fpdf comme classe, mais celle-ci ne permet que de générer du pdf et pas d'en extraire du texte.
 
Sinon il y a l'utilitaire PDF2Txt mais celui-ci est payant.
 
 
Avez-vous une idée sur comment faire, j'ai essayé fopen de Php mais bien sur il m'extrait que des signes imcompréhensibles d'un pdf.
 
 
Merci pour votre aide.


Message édité par defjay le 16-02-2007 à 16:51:19
Reply

Marsh Posté le 16-02-2007 à 14:06:04   

Reply

Marsh Posté le 16-02-2007 à 14:12:58    

pdftotext est gratuit si c'est toi qui le recompile
 
au passage , pour les ppt, tu peux utiliser catppt , pour les xls : xls2csv  , pour les doc catdoc et pour les rtf unrtf

Reply

Marsh Posté le 16-02-2007 à 14:40:34    

PdfToText ne s'utilise pas en PHP je crois ?

Reply

Marsh Posté le 16-02-2007 à 14:42:49    

non, mais tu peux le lancer en ligne de commande avec la fonction passthru
 
perso , j'ai pas trouver mieux pour le CMS sur lequel je bosse ( mais si tu me trouve un classe php qui le fait, je prends )

Reply

Marsh Posté le 16-02-2007 à 14:54:54    

En farfouillant sur le net , j'ai trouvé un gars qui a fait une fonction permettant d'extraire le texte d'un PDF
 
liens :
 
http://www.php.net/manual/en/ref.pdf.php regarde dans les commentaires vers la fin il ya plusieurs bout de code.
 
 
Par contre, en gros, je peut utiliser PDF2Text avec passthru ou exec.
 
QUand tu me dit qu'il faut que ce soit moi qui recompile ??? Recompile en quoi (c'est quel langage à la base)
 
Merci beaucoup en tout cas

Reply

Marsh Posté le 16-02-2007 à 15:05:00    

je crois que c'est du C a la base
 
et si je me souviens bien , le plus compliqué ( sous linux ) , c'est de faire make,puis make install , donc ca va

Reply

Marsh Posté le 16-02-2007 à 15:12:40    

Tu a regardé la fonction, je suis en train de la tester.
 
Fair une recherche la dessus sur la page que je t'a envoyé :
thodge at ipswich dot qld dot gov dot au
 
La fonction est juste en dessous.
 
Je regarde pour la compilation du prog en C.
Mais sinon j'espère que la fonction va fonctionner car apparement PDF2Txt est lourd en temps de traietement.

Reply

Marsh Posté le 16-02-2007 à 16:07:40    

Bon je viens d'en essayer deux, ça ne fonctionne pas, une me ressort des erreurs au niveau d'une fonction, l'autre mez ressort rien du tout.
 
Apparement, c'est compatible qu'avec des pdf 1.2 1.3 ou 1.4 qui sont de la version 3 d'acrobat reader, donc......
 
A confirmer.
 

Reply

Marsh Posté le 16-02-2007 à 16:30:41    

Je viens d'essayer PDFtoText...
 
Impressionnant de rapidité, de simplicité et d'efficacité, maintenant il me reste plus qu'à appeler l'executable depuis le code PHP, et de parcourir le txt créé afin d'enregistrer tous le texte dans un champs de ma BD.
 
L'indexation avance en Open Source ! grace à des outils come celui-la
 
 
 

Reply

Marsh Posté le 16-02-2007 à 18:52:40    

oui , ca fonctionne pas mal  
 
comme je te l'ai dis , je m'en sers pour indexer les données du portail de la boite

Reply

Marsh Posté le 16-02-2007 à 18:52:40   

Reply

Marsh Posté le 17-02-2007 à 13:35:25    

Et ta mthode pour faire du fichier txt >> BD, une boucle avec fopen et parcour du fichier texte en ignorant les mot < 3 caractères peut etre ?

Reply

Marsh Posté le 17-02-2007 à 13:40:00    

non, je mets tout bourrinement en bdd ( je me sers du contenu du fichier pour faire l'aperçu lors de la recherche )  
 

Reply

Marsh Posté le 20-02-2007 à 09:25:24    

Je viends d'essayer PdfToText, il marche bien.
 
Par conte catdoc, c'est l'anarchie !!
J'ai réussi à dénicher une version qui a été modifié pour Windows (avec notamment gesrtion des noms de fichiers longs). Mais l'utilitaire me bouffe beaucoup de texte notamment en me grillant le début de chaque phrase.

Reply

Marsh Posté le 20-02-2007 à 09:43:21    

la ,je vais pas pouvoir te repondre, mon serveur tourne sous linux ;)

Reply

Marsh Posté le 20-02-2007 à 09:49:03    

Et sous Linux, tous ces binaries (catdoc...) marche impec ?
Parce que moi aussi c sous Linux, je voulais juste essayer sur un poste client sur windows avant de voir


Message édité par defjay le 20-02-2007 à 09:49:33
Reply

Marsh Posté le 20-02-2007 à 10:17:19    

chez moi  y a aps eu de probleme
 
sous windows, le moyen leplus 'propre' de recuperer le contenu de fichier microsoft, c'est d'utilliser les objets com ( il existe une extension pour ca )

Reply

Marsh Posté le 20-02-2007 à 11:24:52    

Je vais voir ça, sinon question subsidiaire, tu utilise quoi pour faire ta recherche full-text.
 
Moi je suis sur MySQL Full-text (depuis version 4) et c vraiment pas mal.
(j'ai laissé tombé Htdig, Zend Lucene, Sphider... trop complexe et ne permet pas de gérer les droits sur des documents)
 
+++

Reply

Marsh Posté le 20-02-2007 à 11:25:53    

les requetes full text de mysql => ( MATCH AGAINST )

Reply

Marsh Posté le 20-02-2007 à 11:43:40    

ouè c'est ça, en fait je voulais juste savoir quelle systeme tu utilisé c tout :)

Reply

Marsh Posté le 27-02-2007 à 17:15:05    

EN parlant des requetes Fulltest, j'ai deux questions :
 
- Comment afficher la structure d'une table Mysql en affichant aussi les index utilisé ( describe est insuffisant)
 
- le fait de rajouter plus de colonnes dans Match(col1,col2,col3....) affaiblit-elle les différences de pertinence entre les différents résultats retournée ?
 
Merci
 
j'ai trouvé mes réponses
 
1) non pas possible
2) non


Message édité par defjay le 07-03-2007 à 10:00:19
Reply

Marsh Posté le 14-06-2007 à 16:54:52    

Bonjour,
J’ai une question je travail sur un moteur de recherche j’ai téléchargé les binaires externes catdoc et xpdf j’ai compilé avec un accumula taire j’ai donné les liens après j’ai créé un fichier.html qui contient un fichier .doc aces des liens quand j’index j’ai cette erreur Page contains less than 15 words
Si quelqu’un à déjà vue ca la recherche se fait sur sphider
Merci de répondre.
 

Reply

Marsh Posté le 14-06-2007 à 18:37:10    

Entrées, virgules, points toussa :o


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 19-06-2007 à 11:49:03    

paris31000 a écrit :

Bonjour,
J’ai une question je travail sur un moteur de recherche j’ai téléchargé les binaires externes catdoc et xpdf j’ai compilé avec un accumula taire j’ai donné les liens après j’ai créé un fichier.html qui contient un fichier .doc aces des liens quand j’index j’ai cette erreur Page contains less than 15 words
Si quelqu’un à déjà vue ca la recherche se fait sur sphider
Merci de répondre.


 
Bonjour,
 
En fait ton problème viens du fait que le compte invité internet n'a pas les droits de lecture sur le fichier cmd.exe qui se trouve dans windows/system32/
Après au niveau sécurité je ne sais pas ce que ça donne mais au moins ça te débloque

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed