1.2k questions
1.4k answers
361 comments
339 users
You can create this published function within QIE:
function convertRtfToHtml(rtfString) { var os = new java.io.ByteArrayOutputStream(); var is = null; var htmlString = ''; try { var htmlEditorKit = new javax.swing.text.html.HTMLEditorKit(); var rtfEditorKit = new javax.swing.text.rtf.RTFEditorKit(); is = new java.io.ByteArrayInputStream(rtfString.getBytes("UTF-8")); var doc = rtfEditorKit.createDefaultDocument(); rtfEditorKit.read(is, doc, 0); htmlEditorKit.write(os, doc, 0, doc.getLength()); htmlString = os.toString(); } catch (e) { qie.warn("Caught error: " + e); } finally { if (os !== null) { try { os.close(); } catch (err) { qie.warn("Error closing OutputStream: " + err); } } if (is !== null) { try { is.close(); } catch (err) { qie.warn("Error closing OutputStream: " + err); } } } return htmlString; }
Here is an example of how you can use this function, assuming the OBX-5 field is an RTF string.
var rtfString = message.getNode("OBX-5"); var htmlString = convertRtfToHtml(rtfString);