Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Skalden am 31.05.12 - 16:43:12

Titel: HTML-Code in Rich Text Field umsetzten
Beitrag von: Skalden am 31.05.12 - 16:43:12
Hallo Notes-Gemeinde,

Ich stehe vor dem Problem, dass einen HTML Formatierten Text in ein Dokument importieren soll, mit den durch den Code gegebene Formatierungen. Zunächst dachte ich mir noch: kein Problem - du bekommst ja auch ständig Mails im HTML-Format, das geht sicherlich einfach.
Doch leider ist dem nicht so. Ich habe es schon über die Style-property versucht, über $BrowserRender und über sämtliche andere Einstellungen, nur leider wird mir der Code als normaler Text im Feld angezeigt (zB. <B>Hallo</B> statt Hallo)

Nun meine Frage an euch: Muss ich mir eine Funktion basteln, welche mir den Text in ein RichTextField Formatiert oder gibt es doch eine ganz einfach lösung die ich übersehe?

Beste Grüße
Skalden
Titel: Re: HTML-Code in Rich Text Field umsetzten
Beitrag von: pram am 31.05.12 - 17:25:42
Du musst dir wirklich mit RichtextStyles etc. die Formatierungen zusammenbasteln, oder du liest dir mal den BestPractice-Artikel durch, wie man eine HTML-Mime-Mail erstellt. (http://atnotes.de/index.php/topic,52040.0.html)
Mit der darin fertigen Klasse sollte dein Vorhaben nicht allzu schwierig sein.

Gruß
Roland
Titel: Re: HTML-Code in Rich Text Field umsetzten
Beitrag von: Skalden am 01.06.12 - 08:20:35
Diese Klass ist wunderbar! Das erspart mir einiges an Arbeit und ärger!
Vielen Dank!

Edit:
Nun ist nur noch eine Frage offen: Wenn ein Bild in dem Text ist, welches auf eine HTTP-Seite verlinkt. Wie bekomm ich die nun in den Text rein?

Edit2:
Auch das ist geschafft. Wer danach nocheinmal suchen sollte (Funktion, wenn ein Dokument gegeben ist):
Code
Dim session as Notessession
Dim tempstr As String
Dim stream As NotesStream
Dim miment As NotesMIMEEntity
Dim strUrl As String
Dim picHTTP As Variant
Dim picText As Variant
Dim cid As String
Dim db AS NotesDatabase
Dim docNew AS NotesDocument

Set db = docNew.Parent
Set session = db.Parent
Set stream = session.CreateStream

Set miment = docNew.Createmimeentity("MimeEntety")
Set picHttp = CreateObject("MSXML2.XMLHTTP.3.0")
strURL = "URL eines Fotos"
picHttp.open "GET", strURL, False
picHttp.Send
Set stream = session.Createstream()
picText = picHttp.responseBody
Call stream.Write(picText)
Call miment.Setcontentfrombytes(stream,"", ENC_IDENTITY_BINARY)
Call miment.Encodecontent(ENC_BASE64)
tempStr = miment.Contentastext
Call stream.Close()
Set stream = session.Createstream()
Call stream.Writetext(tempstr)
cid = mime.attach(stream, ENC_BASE64, "", "image/gif")
Call stream.Close()
tempstr = |<img src="%IMAGE%">|
Call mime.setHtml(Replace(Feed(i).Article, "%IMAGE%", cid), "")
Call mime.closeMime()
Alle Angaben ohne Gewähr ;)

Beste Grüße und Vielen Dank!
Skalden