Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1201 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°1087494
no_code
This Magic Moment ...
Posté le 18-05-2005 à 10:06:18  profilanswer
 

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 ....
 
 
 
 
 
 
 
 

mood
Publicité
Posté le 18-05-2005 à 10:06:18  profilanswer
 

n°1087502
sircam
I Like Trains
Posté le 18-05-2005 à 10:14:03  profilanswer
 

: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}
n°1087513
no_code
This Magic Moment ...
Posté le 18-05-2005 à 10:20:50  profilanswer
 

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.
 
 

n°1087535
sircam
I Like Trains
Posté le 18-05-2005 à 10:36:41  profilanswer
 

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}
n°1087551
no_code
This Magic Moment ...
Posté le 18-05-2005 à 10:51:15  profilanswer
 

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:

n°1087553
cesarr89
Posté le 18-05-2005 à 10:52:59  profilanswer
 

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.
 

n°1087554
sircam
I Like Trains
Posté le 18-05-2005 à 10:54:40  profilanswer
 

cesarr89 a écrit :

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


Toutafé :jap:
 


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1087556
cesarr89
Posté le 18-05-2005 à 10:56:11  profilanswer
 


 On est d'accord  :jap:  

n°1087903
cerel
Posté le 18-05-2005 à 14:48:15  profilanswer
 

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.

n°1088101
cesarr89
Posté le 18-05-2005 à 16:15:08  profilanswer
 

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.
 

mood
Publicité
Posté le 18-05-2005 à 16:15:08  profilanswer
 

n°1088120
jagstang
Pa Capona ಠ_ಠ
Posté le 18-05-2005 à 16:27:37  profilanswer
 

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?  
n°1088160
esox_ch
Posté le 18-05-2005 à 17:04:34  profilanswer
 

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
n°1088255
no_code
This Magic Moment ...
Posté le 18-05-2005 à 17:52:08  profilanswer
 

jagstang a écrit :

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


 
Contrainte qui disparait avec des documents rtf  :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

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

 

Sujets relatifs
Experienced PHP-programmersTransformer doc Word en image
Comment marche la fonction RandomObject required [ca marche sur les ptits, pas sur les grands !]
Ant: comment ça marche??comment marche les combobox
[php dynamique]$$var ou $res[$var] ... ca marche pas[resolu mouai][Html / Php] Problème d'affichage
[PHP] Declaration de varaible...[PHP] Expression régulière
Plus de sujets relatifs à : [PHP] Modif d'un document word : ça marche !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR