Domino 9 und frühere Versionen > ND8: Entwicklung

HTML in ein RT-Feld rendern

(1/2) > >>

samWare:
Hallo Leute!

Ist es möglich (ohne einen eigenen Paraser zu schreiben) HTML ins RichText Format zu bekommen? Also nicht nur stur den CodeText, sondern mitsamt der Formatierungen usw..

Bitte um schnellstmögliche Antwort! Danke schonmal..

mfg Sam

it898ur:
Im Front-End ist dies über "Datei" - "Importieren" - "HTML-Datei" relaativ einfach möglich (alterntiv kann man natürlich auch den entsprechenden Formelbefehl oder die entsprechende LS-Funktion verwenden.

Gruß

André

samWare:
Das mit dem Frontend Import kenn ich schon... Ich muss das ganze aber Code-Technisch verarbeiten. Währe nett wenn du eine einschlägige Funktion/Klasse kennen würdest. Welche "entsprechende" LS-Funktion meinst du?

it898ur:
Die LS-Funktion heißt uidoc.import(..) - der Cursor muss dabei aber im Frontend in einem bearbeitbaren Richtext-Feld sein (eigentlich auch logisch).

Gruß

André

samWare:
Leider nicht das wonach ich suche. Ich muss das ganze in ein Item Lesen, und das im Back-End. Mein Ansatz war mit einem Dummydocument und Berechnetem Text zu arbeiten der als passthruHTML gemarkt ist. Dieser berechnete Text in Form "passthruHTML" liest den HTML Code aus Feld "text" aus, welches versteckt ist und ebenfalls in der Form liegt. Dieses Feld befülle ich dann mit Code, speichere das Dummydoc zwischen und render dann das Dokument in ein RT-Item. Funktioniert aber leider nicht da er den Text anscheinend nur im Front-End berechnet. :(

Auch das "passthruHTML" Dokument nochmal über ne View zu öffnen und zu rendern bringt keinen Erfolg.

Hier mal mein Simpler TestCode


--- Code: ---Sub Click(Source As Button)

'Render HTML Code to RT-Item

Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim doc As NotesDocument
Dim doc2 As New NotesDocument(db)


Set doc = db.CreateDocument
doc.Form = "renderHTML_to_RT_with_passthrouHTML"
Call doc.Save(True, False)

'Injezieren des HTML Codes

Dim inject As String
inject = "<b>hallo</b>"

doc2.Form = "passthruHTML"
doc2.text = inject
Call doc2.Save(True, False)

Dim vw As NotesView
Set vw = db.GetView("passthruHTML")

Dim doc3 As NotesDocument
Set doc3 = vw.GetFirstDocument

Dim item As New NotesRichTextItem(doc, "Body2")
Dim ok As Variant

ok = doc2.RenderToRTItem(item)

Call doc.CopyItem(item, "Body")

Call doc.Save(True, False)

End Sub
--- Ende Code ---

Der Code Workt soweit. Wenn ich das Feld "text" nicht mehr verstecke rendert er mir das wunderschön. (also den Text aus "text"^^)
Im Frontend tut der berechnete Text auch das was er soll. Welche möglichkeiten giebt es noch den HTML stuff in ein RT-Item zu rendern?

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln