Page 1 sur 1

lire et écrire dans des fichiers word

Posté : 13 sept. 2010, 16:17
par if2010
Bonjour,

En voulant lire les lignes d'un fichier word (.doc ou .docx), je reçois dans ma page des caractères bizarres et incompréhensibles; alors qu'en traitant les fichiers .txt, tout se passe à merveille;

Est-ce que le PHP n'accepte que les fichiers .txt pour lire et écrire dedans ou bien y a une solution??

Merci :)

Re: lire et écrire dans des fichiers word

Posté : 13 sept. 2010, 16:48
par AB
ça fonctionnera mieux avec l'extension docx qui devrait fournir un document xml. J'ai lu que docx était en fait un fichier zippé, qu'il font donc dézipper avant de pouvoir lire.

Pour l'extension doc c'est plus compliqué, ce sera plus facile sur un serveur dédié qui permettra d'installer et d'exécuter des applications spécifiques.

Le plus simple encore est d'exporter le fichier word au format txt avant de l'exploiter en php.

Re: lire et écrire dans des fichiers word

Posté : 13 sept. 2010, 16:52
par Nours312
si ton serveur est sous Windows, tu devrait pouvoir utiliser la lib COM

Re: lire et écrire dans des fichiers word

Posté : 14 sept. 2010, 11:49
par if2010
à AB:
avec docx aussi ça n'a pas marché.
Concernant la solution d'exportation sous formats txt: dans mon application je traite tout type de document: PDF, XLS,JPG..., je voudrais savoir comment sera la procédure pour ces formats.

à Nours:
Sincèrement, j'ai fouetté ton lien, et j'ai essayé de comprendre mais :roll:

Je suis encore à la recherche d'une solution... :)

Re: lire et écrire dans des fichiers word

Posté : 14 sept. 2010, 16:43
par AB
à AB:
avec docx aussi ça n'a pas marché.
As-tu pris soin de dézipper le fichier docx ?

Sinon concernant ces fichiers, veux-tu pouvoir les traiter avec php ou simplement les faire afficher dans le navigateur du visiteur ?

Qu'est-ce fait ton application ? Il faudrait nous en dire un peu plus si tu veux que l'on puisse te conseiller dans la bonne direction...

Re: lire et écrire dans des fichiers word

Posté : 21 sept. 2010, 11:54
par if2010
Sinon concernant ces fichiers, veux-tu pouvoir les traiter avec php ou simplement les faire afficher dans le navigateur du visiteur ?

Qu'est-ce fait ton application ? Il faudrait nous en dire un peu plus si tu veux que l'on puisse te conseiller dans la bonne direction...
Je m'excuse pour le retard de la réponse,

Mon application traite une petite base de données de documents.
Elle propose le téléchargement de ces documents et si nécessaire, elle fait une recherche dans ces documents quand on lui donne un mot à chercher.
Le problème que j'ai pu lire les fichiers .excel case par case et sans aucun problème, mais les fichiers .doc causent les problèmes; une ligne du fichier est affichée avec des caractères incompréhensibles.

Voilà.

Re: lire et écrire dans des fichiers word

Posté : 21 sept. 2010, 16:01
par if2010
Salut,
j'ai trouvé antiword comme solution, mais sincèrement, je sais pas comment l'utiliser!!

Je fouette encore!!!

Si quelqu'un peurrait m'aider??

Re: lire et écrire dans des fichiers word

Posté : 21 sept. 2010, 16:46
par AB
J'ai jeté un oeil sur antiword mais apparemment la conversion s'arrête à word 2003. De plus il faut pouvoir installer l'application sur le serveur...

D'un autre côté je doute un peu qu'une recherche par mot dans des documents aussi disparates puisse retourner quelque chose de réellement pertinent et puis ça doit demander pas mal de ressources (ouvrir et parser tous les fichiers ?) qui iront en augmentant en fonction du volume :-k

Une autre solution : quand tu fait l'enregistrement de ces fichiers sur le serveur peut-être serait-il possible d'enregistrer en bdd une liste de tags ou mots clés correspondant au document. Si c'était possible tu pourrais faire une recherche très rapide et optimisée quelque soit le type de documents y compris images, vidéo etc... Perso c'est la solution que j'envisagerais car bien qu'elle soit un peu contraignante elle permet de s'affranchir de faire un traitement spécifique en fonction du document et aussi elle serait beaucoup plus rapide à l'exécution.

Sinon bon si tu trouve quelque chose de concluant, tiens nous au courant :wink: