Générer un fichier rtf a partir d'un texte simple dans un script php

renkev Messages postés 22 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 24 février 2012 - 15 mars 2011 à 11:17
renkev Messages postés 22 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 24 février 2012 - 17 mars 2011 à 09:46
Bonjour!
je travaille sur un projet d'export de sous titres et j'aurai besoin de générer un fichier rtf dans un script php!
j'aurai besoin de connaitre la fonction ou les classes que je peux utiliser pour réaliser cela!
je cherche juste a produire du rtf à partir d'un texte simple dans un script php toute info seerait la bienvenue!

13 réponses

raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
15 mars 2011 à 11:25
Slt

Fonction fwrite de php : Tapez le texte de l'url ici.
0
renkev Messages postés 22 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 24 février 2012
15 mars 2011 à 11:42
Merci raven 44,mais moi je veux un fichier qui soit au format rtf, parce qu'apres je vais faire du parsage xml en utilisant sax et exporter le fichier xml en rtf!

tu as des suggestions à me faire?
0
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 55
15 mars 2011 à 13:15
C'est un minimum de t'excuser pour ces TRIPLES posts !



______________________________________________________________________
0
renkev Messages postés 22 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 24 février 2012
15 mars 2011 à 13:32
dsolé!j'ai pas l'habitude de ce forum je ne sais pas trop bien comment ça fonctionne!
mais c'est bon c'est noté il y'en aura plus!
maintenant tu peux m'aider j'ai besoin d'un script ou de fonctions ou librairies qui pourraient m'aider à créer un fichier sous le format rtf a partir de php!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 55
15 mars 2011 à 19:22
file_put_contents() ?


______________________________________________________________________
0
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
15 mars 2011 à 19:52
À défaut de classes, fonctions ou méthodes, j'ai utilisée Wordpad (moins riche que word, mais au code plus léger) pour produire des documents-type et isoler les motifs à reprendre.

Autrement dit, préparer un modèle du document souhaité (avec les marges la police ... etc.), d'abord vide sauf peut-être BONJOUR (pour voir l'entête et le contenu) puis avec un seul sous-titre, deux sous-titres, ... Plonger dans le code produit avec un bon éditeur pour sauvegarder un document type à nourrir avec des ajouts précédés par leur mise en forme (attention les corrections compliquent la tâche avec du code parasite).

Il devrait être relativement aisé d'isoler les codes correspondants aux balises et éventuelles mises en formes souhaitées...

Quelques éléments (il s'agissait de sortir une affiche à partir des petites annonces présentes sur un site)
// Caractères spéciaux en Rich Text Format (plus des échappements pour les ' et les \)
$in = array('\''        ,'«'     ,'»'     ,'à'     ,'ç'     ,'ê'     ,'è'     ,'é'     ,'ï'     , 'ô'    ,'û'     ,'ù'     ,'°'     ,'m2');
$out = array('\\rquote ','\\\'ab','\\\'bb','\\\'e0','\\\'e7','\\\'ea','\\\'e8','\\\'e9','\\\'ef','\\\'f4','\\\'fb','\\\'f9','\\\'b0','m\\\'b2'); 

// À utiliser avec un str_replace pour tous les textes
$texteRtf = str_replace($in,$out,$texteInitial);

// Motifs rtf (il s'agit d'entête de rubriques $rbr, de type d'annonces $typ, de nos d'annonce $nos, du corps de texte $crp et du numéro de téléphone)
$rbr='\pard\plain \qc \li0\ri0\widctlpar\brdrt\brdrs\brdrw45\brsp20 \brdrl\brdrs\brdrw45\brsp80 \brdrb\brdrs\brdrw45\brsp20\brdrr\brdrs\brdrw45\brsp80 \aspalpha\aspnum\faauto\adjustright\rin0\lin0\rtlgutter\itap0\pararsid12264102 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\b\f40\fs36\charrsid4480389 ';
$typ='\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\f40\charrsid4480389 \par }{\b\f40\fs32\charrsid4480389 ';
$nos='{\b\f40\cf17\charrsid4480389 ';
$crp='{\f40\charrsid4480389 ';
$tel='{\f40\chshdng0\chcfpat0\chcbpat18\charrsid4480389 ';	// Deux modes de fermeture de ces motifs sans ou avec retour à la ligne)
$frm='}';
$frl='\par }'; 
// Pour construire, la page avec 
$cntMdl=file_get_contents("monModele.rtf");
$maPageRtf=str_replace("BONJOUR",$insert,$cntMdl); 
0
renkev Messages postés 22 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 24 février 2012
16 mars 2011 à 15:14
merci à vous deux!
mais dis moi julien à quoi fait référence ta variable $insert dans l'instruction $maPageRtf=str_replace("BONJOUR",$insert,$cntMdl);

pour ce qui est du modèle si je t'ai bie compri il s'agit de créer un fichier du style doc avec un editeur (worpad dans ton cas) et ensuite recupérer le code de ce fichier?si c'est bien ça peux tu me dire comment je dois m'y prendre?moi je travaille sous ubuntu je peux le faire avec openoffice?

et pour finir pourrais tu m'expliquer ce que tu entends par :" Plonger dans le code produit avec un bon éditeur pour sauvegarder un document type à nourrir avec des ajouts précédés par leur mise en forme (attention les corrections compliquent la tâche avec du code parasite)."

merci!
0
renkev Messages postés 22 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 24 février 2012
16 mars 2011 à 15:23
a phpanonyme je ne crois pas que ce soit file_put_contents() car cette fonction sert juste à la création d'un fichier c'est un concentré de fopen(),fwrite() et fclose() (pour ce que j'en sais!)!moi ce qui me gene c'est plus ce dont julien parle à savoir trouver la bonne entete,et régler le probleme de l'insertion de nouvelle données dans un document type comme il me l'a suggéré par example!

merci!
0
renkev Messages postés 22 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 24 février 2012
16 mars 2011 à 15:29
Pardon julien pour la question consernant comment faire pour avoir le code!je viens de comprendre ce que tu voulais dire!
je saurai faire!
explique moi comment tu injecte tes données pas la page!
0
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
16 mars 2011 à 20:58
J'enregistre une page vierge contenant un simple BONJOUR ou ZZZZZ en rtf, dans le fichier monModele.rtf (type ANSI) où il ne me reste plus qu'à remplacer le BONJOUR OU ZZZZ par une insertion $insert.

Pour constituer cet $insert, je met simplement bout à bout les différentes portions de mes petites annonces après leur avoir fait subir deux traitements : [list]la suppression des accents,/list[list]l'incorporation entre les motifs précités ($rbr, $typ, $nos, $crp ou $tel (*) devant et l'un des deux motifs de fermeture $frm ou $frm derrière)/list.

(*) Tous ces motifs contiennent une accolade ouverte précédée ou nom d'indications sur la mise en forme
0
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 55
16 mars 2011 à 21:50
[quote=Premier message]j'aurai besoin de générer un fichier rtf dans un script php/quote
a phpanonyme je ne crois pas que ce soit file_put_contents() car cette fonction sert juste à la création d'un fichier c'est un concentré de fopen(),fwrite() et fclose() (pour ce que j'en sais!)!moi ce qui me gene c'est plus ce dont julien parle à savoir trouver la bonne entete,et régler le probleme de l'insertion de nouvelle données dans un document type comme il me l'a suggéré par example!

Ben file_put_contents() te servira justement à enregister les données dans ton fichier rtf...comme tu le souligne s'est une contraction des fonctions de lecture/écriture/fermeture. Par contre si ton fichier est susceptible de s'exprimer en Mo vaut mieux utiliser la méthode classique qui fera gagner quelques secondes.

Après ce que t'a proposé Julien c'est un formatage pour éviter semble-t-il des 'erreurs' d'affichage lier au format.


______________________________________________________________________
0
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
16 mars 2011 à 22:59
Voir aussi cette page et notamment RTF Syntax
0
renkev Messages postés 22 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 24 février 2012
17 mars 2011 à 09:46
j'ai réussi à isoler les flags qui doivent constituer l'entete sur le site de microsofts ils décrive en profondeur tous les détails de ce formant c'est assez long et surtout la doc est en anglais mais bref...

merci à vous deux j'ai réussi à générer mon fichier je vais m'attaquer à la suite!

merci!
0