nyl auster Posté 9 Novembre 2008 Posté 9 Novembre 2008 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 !
lorem_ipsum Posté 10 Novembre 2008 Posté 10 Novembre 2008 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é
nyl auster Posté 10 Novembre 2008 Auteur Posté 10 Novembre 2008 (modifié) 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é 10 Novembre 2008 par nyl auster
Dadou Posté 10 Novembre 2008 Posté 10 Novembre 2008 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.
nyl auster Posté 10 Novembre 2008 Auteur Posté 10 Novembre 2008 (modifié) 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é 10 Novembre 2008 par nyl auster
Dadou Posté 10 Novembre 2008 Posté 10 Novembre 2008 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?
nyl auster Posté 10 Novembre 2008 Auteur Posté 10 Novembre 2008 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 :-)
Kioob Posté 10 Novembre 2008 Posté 10 Novembre 2008 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/
Dadou Posté 10 Novembre 2008 Posté 10 Novembre 2008 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
Kioob Posté 10 Novembre 2008 Posté 10 Novembre 2008 Arf forcément si c'est pour du mutualisé, on va pas aller bien loin...
Dadou Posté 10 Novembre 2008 Posté 10 Novembre 2008 Je sais pas si c'est du mutualisé, mais je voulais juste le souligner, c'est un détail qui a son importance
Kioob Posté 10 Novembre 2008 Posté 10 Novembre 2008 Yep yep effectivement (désolé j'ai un peu beaucoup survolé le topic ).
nyl auster Posté 10 Novembre 2008 Auteur Posté 10 Novembre 2008 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).
K-Ola Posté 11 Novembre 2008 Posté 11 Novembre 2008 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant