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

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] Créer un document RTF avec du PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Créer un document RTF avec du PHP

n°1392046
karinou
Posté le 21-06-2006 à 12:20:45  profilanswer
 

Bonjour,  
 
Je me retrouve dans un cas chiant je suis en train de faire un intranet et les employés ont besoin de générer des documents à partir des infos de ma bd. Je fais ça en pdf grâce à fpdf, tout roule bien.
Mais là, cas spécial, la personne a besoin de générer un document qu'elle devra modifier.
J'ai donc penser au format RTF (si ce n'est pas un bon choix n'hésiter pas à me le dire).
 
J'ai donc fait des recherches la dessus, mais peu de reponses. Des librairies existent mais sont payantes, je crois trouver obligatoirement une solution gratuite.
j'ai trouvé une fonction permettant de convertir du code html en rtf mais je n'arrive pas à l'utiliser

Code :
  1. function html2rtf ( $html ) {
  2. $startpos = strpos($html,'<');
  3. $rtf = '';
  4. while ( $startpos !== false ) {
  5. // get tag
  6. $endpos = strpos($html,'>',$startpos);
  7. if ($endpos !== false) {
  8. $tag = substr($html,$startpos+1,$endpos - $startpos - 1);
  9. $rtf .= substr($html,0,$startpos);
  10. switch (strtoupper($tag)) {
  11. case 'P':
  12. break;
  13. case '/P':
  14. $rtf .= ' \par ';
  15. break;
  16. case 'BR':
  17. $rtf .= ' \line ';
  18. break;
  19. case 'B':
  20. $rtf .= '{\b ';
  21. break;
  22. case '/B':
  23. $rtf .= '}';
  24. break;
  25. case 'STRONG':
  26. $rtf .= '{\b ';
  27. break;
  28. case '/STRONG':
  29. $rtf .= '} ';
  30. break;
  31. case 'I':
  32. $rtf .= '{\i ';
  33. break;
  34. case '/I':
  35. $rtf .= '}';
  36. break;
  37. case 'EM':
  38. $rtf .= '{\i ';
  39. break;
  40. case '/EM':
  41. $rtf .= '}';
  42. break;
  43. case 'U':
  44. $rtf .= '{\ul ';
  45. break;
  46. case '/U':
  47. $rtf .= '}';
  48. break;
  49. case 'OL':
  50. $listnumber = 1;
  51. $listtype = 'number';
  52. break;
  53. case '/OL':
  54. break;
  55. case 'UL':
  56. $listtype = 'bullet';
  57. break;
  58. case '/UL':
  59. break;
  60. case 'LI':
  61. switch ($listtype) {
  62. case 'number':
  63. $bullet = "$listnumber.";
  64. $listnumber++;
  65. break;
  66. default:
  67. $bullet = '\bullet ';
  68. break;
  69. }
  70. $rtf .= ' \fi-400\li400{'. $bullet .'\tab ';
  71. break;
  72. case '/LI':
  73. $rtf .= '}\par ';
  74. break;
  75. case '/TD':
  76. $rtf .= ' ';
  77. break;
  78. case '/TR':
  79. $rtf .= ' \par ';
  80. break;
  81. }
  82. $html = substr($html, $endpos + 1);
  83. $startpos = strpos($html,'<');
  84. } else {
  85. $startpos = false;
  86. }
  87. }
  88. // append remaining text
  89. $rtf .= $html;
  90. return $rtf;
  91. }

 
 
Je ne sais pas comment faire pour créer un document. Avec fpdf, le document n'est pas créer, juste affiché, d'après ce que j'ai compris avec cette fonction, il faut au préalable avoir un document rtf et le modifier.
 
Enfin bref, je ne sais pas trop comment m'y prendre pour faire ce truc
Si vous avez des idées ou des pistes elles sont les bienvenues, elles pourront au moins m'aider à éguiller mes recherches...
 
Merci par avance,  
 
Karine :hello:
 
Edit :  
Mon document final doit être un tableau où chaque ligne doit être une occurence de ma table :s


Message édité par karinou le 27-06-2006 à 08:48:42
mood
Publicité
Posté le 21-06-2006 à 12:20:45  profilanswer
 

n°1392058
Glock21
Yark !
Posté le 21-06-2006 à 12:30:34  profilanswer
 

fais un .txt, c'est beaucoup plus facile ! :)
 
regarde fopen() avec comme option a+
http://fr2.php.net/manual/fr/function.fopen.php
 
;)
 
Edit : ouuups, pour faire un tableau, ça pas être gérable...dsl. :(


Message édité par Glock21 le 21-06-2006 à 12:31:17

---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1392103
gooopil
pfiew
Posté le 21-06-2006 à 13:12:49  profilanswer
 

J'ai trouvé ça :
http://www.smartsystems.ro/products.html
( http://www.smartsystems.ro/rtfgen/rtfgen_be.zip )


Message édité par gooopil le 21-06-2006 à 13:13:05
n°1392160
karinou
Posté le 21-06-2006 à 14:13:40  profilanswer
 

Merci de m'avoir répondu
 
Glock21 > Et oui, il faut que je fasse de la mise en page
 
gooopil > C'est aussi la classe que j'ai trouvé mais en fait elle n'est pas libre et juste en dessous de ton lien il y a les prix ....

n°1392181
lkolrn
&lt;comment ça marche?&gt;
Posté le 21-06-2006 à 14:32:02  profilanswer
 

http://www.wotsit.org/ puis Search > rtf [:aras qui rit]
 
Le doc est pas tout petit, maintenant des infos utiles y'en a pas besoin de beaucoup et ça se trouve vite (tu peux déjà t'inspirer de la classe que tu as postée)
 
 
Sinon ça serait pas + simple de générer directement ton rtf depuis les infos de la base, et non pas depuis une page html ?

n°1392201
karinou
Posté le 21-06-2006 à 14:47:45  profilanswer
 

LKoLRn > Merci beaucoup de m'avoir répondu je suis en train de regarder le site.
 
Et en effet, ca serait possible si j'avais une possibilité de générer directement le rtf depuis les infos de la base mais je ne sais pas trop comment faire.
J'utilise phpmyadmin et j'ai essayé de faire exporter j'obtiens bien un tableau avec les infos que je veux mais y a t'il possibilité de choisir comment on veut affig=cher les infos avec de générer le document? Par exemple, il y a n champ que je ne veux pas avoir dans mon tableau rtf.
Merci beaucoup en tout cas, ta reponse m'aide bien


Message édité par karinou le 21-06-2006 à 14:50:02
n°1394830
karinou
Posté le 26-06-2006 à 11:20:38  profilanswer
 

UP :$

n°1394850
Master p
My new cock ring :D
Posté le 26-06-2006 à 11:34:23  profilanswer
 

Sur phpmyadmin, tu peux faire un export des résultats d'une requête. Donc à toi de contruire un nouveau tableau avec les champs que tu désires puis de l'exporter.
Ensuite automatise le truc pour ne pas avoir à le faire manuellement.

n°1394879
karinou
Posté le 26-06-2006 à 12:02:16  profilanswer
 

Citation :

Sur phpmyadmin, tu peux faire un export des résultats d'une requête. Donc à toi de contruire un nouveau tableau avec les champs que tu désires puis de l'exporter.


Qu'appelle tu un tableau? Une nouvelle table dans ma base ou un tableau dans mon document rtf?
 

Citation :

Ensuite automatise le truc pour ne pas avoir à le faire manuellement.


En php?
 
Je vois pas trop ce que tu veux dire en fait?
Je ne vois pas trop la demarche à faire?
Dois-je créer un document rtf avec un tableau vide? puis ensuite le modifier en php?

n°1394883
Master p
My new cock ring :D
Posté le 26-06-2006 à 12:08:01  profilanswer
 

karinou a écrit :

Citation :

Sur phpmyadmin, tu peux faire un export des résultats d'une requête. Donc à toi de contruire un nouveau tableau avec les champs que tu désires puis de l'exporter.


Qu'appelle tu un tableau? Une nouvelle table dans ma base ou un tableau dans mon document rtf?
 

Citation :

Ensuite automatise le truc pour ne pas avoir à le faire manuellement.


En php?
 
Je vois pas trop ce que tu veux dire en fait?
Je ne vois pas trop la demarche à faire?
Dois-je créer un document rtf avec un tableau vide? puis ensuite le modifier en php?


Je parlais d'un table en effet ;)
Mais c'était en relation directe avec ce que tu demandais juste avant, càd gérer les éléments que tu voulais exporter via phpmyadmin.  
Et si je parlais d'automatiser, c'était parce que moi, j'aurais essayer de le faire (mais je ne le ferais pas à ta place et c'est pas forcément nécéssaire).

mood
Publicité
Posté le 26-06-2006 à 12:08:01  profilanswer
 

n°1394924
stef_dober​mann
Personne n'est parfait ...
Posté le 26-06-2006 à 13:44:14  profilanswer
 

bonjour,
 
tu peux aussi utiliser cette classe : http://pnine.free.fr/rtf2php/doc.html
 
Voila :)


---------------
Tout à commencé par un rêve...
n°1395469
karinou
Posté le 27-06-2006 à 08:48:08  profilanswer
 

stef_dober mann > Merci beaucoup en effet cette classe permet exactement de faire ce que je désire, je suis un peu en train de galérer pour présenter mes tableaux mais sinon ca gère bien, elle est puissante.
 
Sauf un petit truc, quand je clique sur le lien qui permet de lancer mon export, j'ai la fenetre qui me demande si je veux enregistrer mon fichier ou l'ouvrir qui s'ouvre. Si je demande de l'enregistrer, ça m'enregistre mon fichier php. Mais bon c'est un détail, je vais trouver la solution.
 
En tout cas, vraiment merci à toutes les personnes qui se sont penchés à mon problème. :hello:

Message cité 1 fois
Message édité par karinou le 27-06-2006 à 08:48:20
n°1704029
jfgore
Posté le 18-03-2008 à 13:23:17  profilanswer
 

karinou a écrit :

stef_dober mann > Merci beaucoup en effet cette classe permet exactement de faire ce que je désire, je suis un peu en train de galérer pour présenter mes tableaux mais sinon ca gère bien, elle est puissante.
 
Sauf un petit truc, quand je clique sur le lien qui permet de lancer mon export, j'ai la fenetre qui me demande si je veux enregistrer mon fichier ou l'ouvrir qui s'ouvre. Si je demande de l'enregistrer, ça m'enregistre mon fichier php. Mais bon c'est un détail, je vais trouver la solution.
 
En tout cas, vraiment merci à toutes les personnes qui se sont penchés à mon problème. :hello:


 
 
Es-tu arrivé a tracer les bordures pour ton tableau avec cette classe ?
 
cordialement
 
JFG

n°1956351
jfruitet
Il est temps d'aller dormir...
Posté le 09-01-2010 à 13:52:37  profilanswer
 

Bon, il y a une classe beaucoup plus exploitable et complète pour créer des RTF en PHP  
http://sourceforge.net/projects/phprtf/


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

  [RESOLU] Créer un document RTF avec du PHP

 

Sujets relatifs
[Résolu] [DOM Scripting] Afficher/masquer des imagesAspirateur de site conserve pages en PHP
[PHP] array_map[RESOLU]Créer ma barre d'outil avec VB
Créer un formulaire afin d'uploader une image[RESOLU] Problème méthode GET
STL utilisation de merge() pour des listes [resolu][PHP] création et édition de fichier
Plus de sujets relatifs à : [RESOLU] Créer un document RTF avec du PHP


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