Aller au contenu
nyl auster

Lire un fichier word en PHP

Noter ce sujet :

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 !

Partager ce message


Lien à poster
Partager sur d’autres 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é

Partager ce message


Lien à poster
Partager sur d’autres 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...)

Modifié par nyl auster

Partager ce message


Lien à poster
Partager sur d’autres 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.

Partager ce message


Lien à poster
Partager sur d’autres 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...

Modifié par nyl auster

Partager ce message


Lien à poster
Partager sur d’autres 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?

Partager ce message


Lien à poster
Partager sur d’autres 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 :-)

Partager ce message


Lien à poster
Partager sur d’autres 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/

Partager ce message


Lien à poster
Partager sur d’autres 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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres 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).

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×