May be this will save someone's day.
The story:
Some external UI posts HTML-data to Notes.
That HTML has to be added to NotesRichtextItem.
1) When I tested simple case manually all worked OK:
1.1) Here is my Notes form
1.2) I put some data in Notes document and save it
Sub Initialize
Dim s As New NotesSession
Dim doc As NotesDocument
Dim rt1 As NotesRichTextItem
Dim rt2 As NotesRichTextItem
Set doc = s.Documentcontext
Set rt1 = doc.getfirstitem("RTBody")
Set rt2 = doc.getfirstitem("MIMEBody")
Call rt1.Appendrtitem(rt2)
Call doc.save(True, False)
End Sub
1.4) The result is what I need
2) However when I create MIME item via lotusscript the result of merging was wrong:
2.1) Here is my form - only NotesRichtextItem on form:
2.2) Here is an agent for creating MIMEBody:
Sub Initialize
Dim s As New NotesSession
Dim doc As NotesDocumentDim m As NotesMIMEEntity
Dim h As NotesMIMEHeader
Dim stream As NotesStream
Set stream = s.createstream
Set doc = s.Documentcontext
s.Convertmime = False
Set m = doc.Createmimeentity("MIMEBody")
Set h = m.Createheader("Content-Type")
Call h.Setheaderval("text/html")
Call stream.writetext({<p style="color:red">BBBBBBBBBBBB</p>})
Call m.Setcontentfromtext(stream, "text/html", ENC_NONE )
Call doc.save(True, False)
s.Convertmime = True
End Sub
2.3) If you run the agent above - it creates MIME item correctly and HTML looks OK (I have added MIMEBody field on my form temporarily just to show you that HTML is OK)
2.4) When I run agent to merge the fields (the agent from point 1.3) I have got completely black text
After investigation why is it such a difference I discovered that MIME->NotesRichTextItem conversion seems to support only basic things, probably does not support CSS at all - didn't dig up so deeply.
If you check HTML automatically generated by Notes for MIME item saved in Notes UI it will be very basic without CSS, for example HTML for screen below is:
<font size=3 color=red><b>BBBBBBBBBBBB</b></font>
If you append such MIME item to NotesRichtextItem it will work OK.
However HTML like this:
<font size=3 style="color:red"><b>BBBBBBBBBBBB</b></font>
cannot be correctly appended to NotesRichtextItem.
No comments:
Post a Comment