Salut !
Je voudrais envoyer des emails au format HTML sous Windev mais je ne trouve pas de fonction me permettant de transformé du RTF en HTML.
Pouvez-vous m'aider ?
Salut !
Je voudrais envoyer des emails au format HTML sous Windev mais je ne trouve pas de fonction me permettant de transformé du RTF en HTML.
Pouvez-vous m'aider ?
Si tu sais faire du java, tu peux adapter ce code et créer une classe dans Windev :
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 * import javax.swing.*; * import javax.swing.text.*; * import javax.swing.text.rtf.*; * import javax.swing.text.html.*; * import java.io.*; * * * public class RtfToHtml { * * public static String convertRtfToHtml(final String txt) { * final RTFEditorKit rtf_edit = new RTFEditorKit(); * final JTextPane jtp_rtf = new JTextPane(); * final JTextPane jtp_html = new JTextPane(); * final StyleContext rtf_context = new StyleContext(); * final DefaultStyledDocument rtf_doc = new DefaultStyledDocument(rtf_context); * jtp_rtf.setEditorKit(rtf_edit); * jtp_rtf.setContentType("text/rtf"); * jtp_html.setContentType("text/html"); * try { * rtf_edit.read(new StringReader(txt),rtf_doc,0); * jtp_rtf.setDocument(rtf_doc); * jtp_html.setText(rtf_doc.getText(0,rtf_doc.getLength())); * HTMLDocument html_doc = null; * for (int i = 0; i < rtf_doc.getLength(); i++) { * AttributeSet a = rtf_doc.getCharacterElement(i).getAttributes(); * AttributeSet p = rtf_doc.getParagraphElement(i).getAttributes(); * String s = jtp_rtf.getText(i, 1); * jtp_html.select(i, i+1); * jtp_html.replaceSelection(s); * html_doc = (HTMLDocument)jtp_html.getDocument(); * html_doc.putProperty("",""); * html_doc.setCharacterAttributes(i,1,a,false); * MutableAttributeSet attr = new SimpleAttributeSet(p); * html_doc.setParagraphAttributes(i,1,attr,false); * } * StringWriter writer = new StringWriter(); * final HTMLEditorKit html_edit = new HTMLEditorKit(); * html_edit.write(writer,html_doc,0,html_doc.getLength()); * return writer.toString(); * } catch (Exception ex) { * return "Erreur rtf: " + ex.toString(); * } * } * };
édit: si tu es sous Windev10 tu as la fonction RTFVersHTML()
ex:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 // sRTF est un champ RTF // sHTML est une chaîne HTML // HTML1 est un champ HTML sHTML = RTFVersHTML(sRTF) sTmp est une chaîne = "<HTML>" + sHTML + "</HTML>" HTML1 = sTmp
Si tu n'as pas WD10, tu peux aussi utiliser l'option "Impression vers HTML"
Re,
J'ai testé la fonction RTFversHTML mais je ne sais pa pourqoi ma mise en forme ne reste pas dans le corps du message mais dans le champ HTML oui et en + les images ne passent pas non + ni dans le corps ni dans le champ à la place j'ai plein plein de chiffres mais je pense que sa doi venir de l'image. Sa commence a me soulé ! Je crois que je vais biento passé par une pièce jointe en format PDF.
Mais j'aimerais tellement que sa fonctionne
De plus je ne connai pa le langage Java
La totale !!
Pour inclure des images dans un fichier HTML, il y a une procédure spéciale.
Les images doivent être codée et porter un numéro dans le source HTML
Le code WDCID2 correspond à la 2ième image du courriel.
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part <img src="cid:WDCID2" border="0" width="800" height="500" alt=""><br>
Je ne sais pas pourquoi vous utilisez le format RTF ?
Le plus simple, est de créer une page HTML et de l'envoyer.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager