Lecture/Écriture d'un fichier MS Word en PHP
Est-il possible de lire et d'écrire le Mot (2003 et 2007) des fichiers en PHP sans l'aide d'un objet COM?
Je sais que je peux:
$file = fopen('c:\file.doc', 'w+');
fwrite($file, $text);
fclose();
mais Word lire un fichier HTML pas un natif .fichier doc.
- Je trouve TRÈS peu probable que vous pourriez y parvenir sans l'aide de COM.
Vous devez vous connecter pour publier un commentaire.
Lecture binaire des documents Word serait la création d'un analyseur selon la publication de spécifications de format de fichier pour le format DOC. Je pense que ce n'est pas vraiment réalisable.
Vous pouvez utiliser le Microsoft Office XML formats pour la lecture et l'écriture des fichiers de mots - ce qui est compatible avec l'2003 et la version 2007 de Word. Pour la lecture, vous devez garantir que les documents Word sont enregistrées dans le format correct (il est appelé XML Word 2003-Document dans Word 2007). Pour l'écriture, vous avez juste à suivre le ouvertement disponibles schéma XML. Je n'ai jamais utilisé ce format pour écrire des documents Office à partir de PHP, mais je l'utilise pour la lecture dans une feuille de calcul Excel (naturellement enregistrées au format XML-feuille de calcul 2003) et l'affichage de ses données sur une page web. Comme les fichiers sont clairement des données XML, il n'est pas un problème pour naviguer à l'intérieur et à comprendre comment l'extraire les données dont vous avez besoin.
L'autre option - Word 2007, seule option (si l'OpenXML formats de fichiers ne sont pas installés dans votre Word 2003) - serait à ressort à OpenXML. Comme databyss souligné ici le format de fichier DOCX est juste une archive ZIP avec des fichiers XML inclus. Il y a beaucoup de ressources sur MSDN concernant le fichier OpenXML format, donc vous devriez être en mesure de comprendre comment lire les données que vous souhaitez. L'écriture sera beaucoup plus compliqué, je pense juste que cela dépend de la façon dont beaucoup de temps vous allez investir.
Peut-être vous pouvez avoir un coup d'oeil à PHPExcel qui est une bibliothèque en mesure d'écrire dans des fichiers Excel 2007 et lire à partir de fichiers Excel 2007 à l'aide de l'OpenXML standard. Vous pourriez avoir une idée du travail en essayant de lire et d'écrire OpenXML documents Word.
cela fonctionne avec vs < office 2007 et son pur PHP, pas de COM de la merde, encore à essayer de comprendre 2007
Vous pouvez utiliser Antiword, il est libre de MS Word reader pour Linux et les OS les plus populaires.
C:\file.doc
est un répertoire de windows et/usr/local/bin
est un Linux/Unix directory?Je ne sais pas à propos de la lecture native des documents Word en PHP, mais si vous voulez écrire un document Word en PHP, WordprocessingML (aka WordML) pourrait être une bonne solution. Tout ce que vous avez à faire est de créer un document XML dans le format correct. Je crois Word 2003 et 2007 à la fois le soutien WordML.
Viens de mettre à jour le code
$nulus
à un nombre plus élevé pour éviter la cassure.Plus probablement, vous ne serez pas en mesure de lire les documents Word sans COM.
L'écriture a été couverts dans ce sujet
2007 peut-être un peu compliqué ainsi.
L' .format docx est un fichier zip qui contient quelques dossiers avec d'autres fichiers pour le formatage et d'autres trucs.
Renommer un .docx fichier .zip et vous verrez ce que je veux dire.
Donc, si vous pouvez travailler dans des fichiers zip en PHP, vous devriez être sur la bonne voie.
http://www.phplivedocx.org est un SAVON à base de services qui signifie que vous devez toujours être en ligne pour les tests, les dossiers n'ont pas suffisamment d'exemples de son utilisation . Étrangement, j'ai trouvé seulement après 2 jours de téléchargement (nécessite de plus zend framework trop) que c'est un SAVON à base de programme(maudit moi !!!)...Je pense que sans COM sa juste pas possible sur un serveur Linux, et la seule idée est de changer le fichier doc dans un autre fichier utilisable que PHP peut analyser...
Office 2007 .docx devrait être possible puisque c'est un standard XML. Word 2003 plus probable exige COM à lire, même avec les normes publiées par les états membres, puisque ces normes sont énormes. Je n'ai pas vu beaucoup de bibliothèques écrites pour correspondre encore.
Je ne sais pas ce que vous allez l'utiliser, mais j'avais besoin .doc soutien pour l'indexation de la recherche; Ce que j'ai fait a été d'utiliser un peu de ligne de commande outil appelé "catdoc"; Cela permet de transférer le contenu du document Word au format texte brut, donc il peut être indexé. Si vous avez besoin de garder la mise en forme et la substance, ce n'est pas votre outil.
phpLiveDocx est un Framework Zend et peut lire et écrire de la DOC et DOCX, fichiers PHP sur Linux, Windows et Mac.
Voir le site web du projet:
http://www.phplivedocx.org
Une façon de manipuler les fichiers Word avec PHP que vous pourriez trouver intéressant, c'est avec l'aide de PHPDocX.
Vous pouvez voir comment cela fonctionne en ayant un regard sur son tutoriel en ligne.
Vous pouvez insérer ou extraire le contenu ou même de fusionner plusieurs fichiers Word dans un asingle un.
Serait la .format rtf de travail à vos fins? .rtf peuvent être facilement convertis en et de .format doc, mais il est écrit en clair dans le texte (avec les commandes de contrôle intégré). C'est de cette façon j'ai l'intention d'intégrer ma demande avec les documents Word.
même je suis en train de travailler sur le même type de projet [Un Onlinw traitement de texte]!
Mais j'ai choisi c#.net et ASP.net. Mais à travers l'enquête, je l'ai fait; j'ai appris qu'
nous pouvons facilement travailler avec un fichier word manipuler, et même de les convertir en interne pour différentes dans plusieurs formats tels que .odt,.pdf,.docx, etc..
Mais comme tu veux le faire projet d'ur en PHP, u peut le faire dans Visual Studio et .net, PHP est aussi l'un de la .net avec le Langage Compatible!!
J'ai le même cas
Je suppose que je vais utiliser un bon de 50 mega windows hébergement avec nom de domaine gratuit utiliser pour convertir mes fichiers sur pour serveur PHP. Et en les reliant est facile.
Tous vous avez besoin est de prendre un ASP.NET la page qui reçoit le fichier doc via la poste et des réponses via HTTP
si simple CURL allait le faire.
Source obtenue à partir de