[PHP] Modif d'un document word : ça marche !

Modif d'un document word : ça marche ! [PHP] - PHP - Programmation

Marsh Posté le 18-05-2005 à 10:06:18    

Bonjour,  
Après une recherche sur le forum et quelques tests, j'ai trouvé
qu'il était assez façile de modifier un document word en php.
 
Exemple d'utilisation : Lettre type dont on veut remplir automatiquement
le nom et le prénom.
 
Le code est simple :
 
1. Ouvrir le fichier modele (en mode binaire)
2. Changer le texte ( ou les textes)
3. Copier dans un nouveau fichier (en mode binaire)
 
 
 

Code :
  1. <?PHP
  2. $source=fopen("source.doc","rb" );
  3. $sourceTexte = fread($source, filesize("source.doc" ));
  4. fclose ($source);
  5. $destination = fopen("destination.doc","wb" );
  6. $sourceTexte=str_replace("champ-cle-nom","Dupont       ",$sourceTexte);
  7. $sourceTexte=str_replace("champ-cle-prénom","Roger           ",$sourceTexte);
  8. fwrite($destination,"$sourceTexte" );
  9. fclose ($destination);
  10. ?>


 
L'utilisateur peut par exemple uploader son modele de document word,
en respectant des chaines clés que le script php remplacera, puis  
affichera le document modifié.
 
 
Avantages :  
 - rapide,
 - ca marche avec tous types de document word (même avec des images dedans).
 - code simple
 - l'utilisateur est maitre de son modele
 
Inconvénient :
 - il ne faut pas modifier la taille du texte à remplacer et donc prévoir
   un texte-clé suffisamment grand, et le remplacer avec un texte de même
   taille ( à compléter avec des espaces si trop petit) sinon, word ne veut
   plus ouvir le document
 
 
En espérant que ça serve à quelqu'un ....
 
 
 
 
 
 
 
 

Reply

Marsh Posté le 18-05-2005 à 10:06:18   

Reply

Marsh Posté le 18-05-2005 à 10:14:03    

:heink:
 
C'est pour le moins trash et plutôt limitatif. Ca marche sans doute mais ca tient plus du hack que de l'interfaçage, avec tous les risques que cela comporte.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 18-05-2005 à 10:20:50    

Ok, c'est un peu bourin comme méthode.  
C'est limitatif dans le sens ou on ne fait que remplacer du texte, mais le problème de remplir automatiquement un
modele de document word revient assez souvent.
 
 

Reply

Marsh Posté le 18-05-2005 à 10:36:41    

Oui, tu as raison, et après tout si ça marche pq pas, mais je voulais attirer l'attention des lecteurs sur le fait que :
 
- C'est bourin, c'est du hack, c'est inélégant (et on aime ça);
- Ca comporte des risques et c'est une solution de secours.
 
Pour ceux qui prendraient ça comme LA bonne méthode.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 18-05-2005 à 10:51:15    

Je suis entierement d'accord avec toi,
c'est pas du code que je mettrais pour une appli chez un client.
 
PS : avec le même code et un document rtf, on est pas obligé de garder la même taille  :ange:

Reply

Marsh Posté le 18-05-2005 à 10:52:59    

sircam a écrit :

Oui, tu as raison, et après tout si ça marche pq pas, mais je voulais attirer l'attention des lecteurs sur le fait que :
 
- C'est bourin, c'est du hack, c'est inélégant (et on aime ça);
- Ca comporte des risques et c'est une solution de secours.
 
Pour ceux qui prendraient ça comme LA bonne méthode.


 
Oui je suis d'accord avec toi, mais je pense qu'on peut le féliciter de partager cela, car beaucoup, ne prennent soit, pas le temps de dire merci aux gens qui aident, soit ne pas donner la réponse quand celle ci est trouvée, soit n'aide pas du tout.
 
Mais sinon c'est clair que c'est du bourrin.
 

Reply

Marsh Posté le 18-05-2005 à 10:54:40    

cesarr89 a écrit :

je pense qu'on peut le féliciter de partager cela


Toutafé :jap:
 


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 18-05-2005 à 10:56:11    


 On est d'accord  :jap:  

Reply

Marsh Posté le 18-05-2005 à 14:48:15    

Je pense que l'on devrait se faire un petit mediawiki.
Ca serait plus pratique pour les faq et le partage de codes.
 
Antp l'avait evoque il me semble, ca pourrait etre interessant.

Reply

Marsh Posté le 18-05-2005 à 16:15:08    

cerel a écrit :

Je pense que l'on devrait se faire un petit mediawiki.
Ca serait plus pratique pour les faq et le partage de codes.
 
Antp l'avait evoque il me semble, ca pourrait etre interessant.


 
Oui, en effet c'est une bonne idée.
 

Reply

Marsh Posté le 18-05-2005 à 16:15:08   

Reply

Marsh Posté le 18-05-2005 à 16:27:37    

no_code a écrit :


 
Inconvénient :
 - il ne faut pas modifier la taille du texte à remplacer et donc prévoir
   un texte-clé suffisamment grand, et le remplacer avec un texte de même
   taille ( à compléter avec des espaces si trop petit) sinon, word ne veut
   plus ouvir le document

 


c'est hyper limitant comme contrainte en effet...


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 18-05-2005 à 17:04:34    

jagstang a écrit :

c'est hyper limitant comme contrainte en effet...


 
Ca me rappelle le probleme de l'ecriture ntfs sous linux :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 18-05-2005 à 17:52:08    

jagstang a écrit :

c'est hyper limitant comme contrainte en effet...


 
Contrainte qui disparait avec des documents rtf  :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed