Aller au contenu

Lire un fichier word en PHP


nyl auster

Sujets conseillés

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 !

Lien vers le commentaire
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
Lien vers le commentaire
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.

Lien vers le commentaire
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
Lien vers le commentaire
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?

Lien vers le commentaire
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 :-)

Lien vers le commentaire
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/

Lien vers le commentaire
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

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...