Jump to content
Sign in to follow this  
nyl auster

Lire un fichier word en PHP

Rate this topic

Recommended Posts

Bonjour à tous

Pour un projet php/sql il me faudrait mettre en place un formulaire d'upload permettant à un utilisateur d'envoyer un fichier word. Le contenu de celui devra ensuite être enregistré dans une BDD pour pouvoir ensuite l'afficher sur le site.

Il faut donc que je comprenne comment accéder en php au contenu d'un fichier word.

Est-il possible de faire ceci en php?

Et si oui, de conserver la mise en forme au moins en ce qui concerne le hierarchies, le gras l'italique et les sauts de lignes?

Merci de vos lumières !

Share this post


Link to post
Share on other sites

Salut,

pourquoi n'utilises tu pas "TinyMCE"

A la place de ton upload, tu fais un textaera, tu installes tiny.

Ensuite ton visiteur qui voudra ajouter son texte, n'aura qu'a faire un copier depuis word via tinyMCE

Et tu obtiendras le résultat désiré

Share this post


Link to post
Share on other sites

Salut, oui c'est une bonne idée que je proposerai si je ne peux pas réaliser ce qu'on me demande.

Mais le cahier des charges qu'on m'impose implique d'ouvrir un fichier word en php après upload. J'ai vu quelques trucs à ce sujet mais je ne suis arrivé à rien pour l'instant (si ce n'est à ouvrir le logiciel word avec une commande php...)

Edited by nyl auster

Share this post


Link to post
Share on other sites

C'est possible avec les composants COM de PHP, mais pour cela, il faut que le serveur soit un serveur windows et que word soit installé sur le serveur. A une exception, si le document word est au format docx (le nouveau format généré par word 2007), il suffit de dézipper le fichier (oui le .docx est en fait un zip), puis de parser les fichiers XML (le x de docx).

Autre solution, word peut enregistrer au format HTML, mais, word génèrera un code des plus horrible, donc comme solution c'est pas génial.

Share this post


Link to post
Share on other sites

Merci de ta réponse. En gros, faire ça en php c'est la galère. L'option proposée par Lorem_ipsum me parait encore la plus raisonnable. Le coup du xml était intéressant mais vu qu'il ne concerne que la dernière version de word...

Edited by nyl auster

Share this post


Link to post
Share on other sites
Le coup du xml était intéressant mais vu qu'il ne concerne que la dernière version de word...

Et Openoffice, c'est aussi un fichier zipper et si tu dézippes, miracle, des fichiers xml.

Le traitement d'un fichier word est laborieux à réaliser pour un résultat pas toujours à la hauteur des attentes. Après qu'est ce qui motivait ton client à vouloir procéder de cette manière? pour un site internet ou pour un intranet?

Share this post


Link to post
Share on other sites

Ah intéressant de savoir qu'open office fonctionne sur le même principe.

C'est un site internet; je ne fais que citer le cahier de charge qu'on m'a transmis. Disons que dans le cadre de leur projet (on m'a demandé un minimum de discrétion sur sa description) c'est effectivement ce qui serait le plus simple et intuitif pour le client.

Merci de tes précisions, ça m'est très utile :-)

Share this post


Link to post
Share on other sites

Hello,

dans les paquets Debian je vois au moins l'utilitaire "catdoc" qui extrait le texte d'un document Word (mais très probablement sans le moindre formatage). Ou encore d'utiliser OpenOffice pour la faire conversion... après tout, ce doit être faisable. Non ?

Edit : sous Debian il y a aussi "docvert" :

docvert-openoffice.org - Docvert is a web application which takes word processor files (typically .doc) and converts them to OpenDocument and clean HTML.

Le site officiel : http://holloway.co.nz/docvert/

Share this post


Link to post
Share on other sites

Oui, j'ai déjà approché catdoc pour faire un moteur de recherche, et en effet, il ne ressort que du texte non formaté.

La problématique pour traiter un .doc via php, c'est qu'il faut appeler une appli externe via exec(), sur du mutualisé c'est donc exclus

Share this post


Link to post
Share on other sites

Arf forcément si c'est pour du mutualisé, on va pas aller bien loin... :(

Share this post


Link to post
Share on other sites

Je sais pas si c'est du mutualisé, mais je voulais juste le souligner, c'est un détail qui a son importance

Share this post


Link to post
Share on other sites

Yep yep effectivement (désolé j'ai un peu beaucoup survolé le topic :blushing:).

Share this post


Link to post
Share on other sites

Merci pour ces pistes, je regarderai ça plus en profondeur demain. Pour le serveur, il s'agit très surement d'un dédié (mais je n'ai pas pensé à poser la question).

Share this post


Link to post
Share on other sites

Si ton projet est hébergé sur un serveur dédié,pour convertir des .doc en texte brut, tu as également antiword, disponible sur la plupart des plateformes.

http://www.winfield.demon.nl

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...