Convert RTF to Plain TEXT....Java Swing rescue
You want to convert RTF to plain text? Here's the code:
<cffunction name="getPlainTextFromRichText" access="public" returntype="string" output="false">
<cfargument name="richText" type="string" required="true">
<cfscript>
var RTFEditorKit = CreateObject("java","javax.swing.text.rtf.RTFEditorKit").init();
var styledDocument = CreateObject("java","javax.swing.text.DefaultStyledDocument").init();
var reader = CreateObject("java","java.io.StringReader").init(arguments.richText);
RTFEditorKit.read(reader,styledDocument,0);
return styledDocument.getText(0,styledDocument.getLength());
</cfscript>
</cffunction>
If you know a better solution, please let me know...
....and to strip HTML tags and let Java do the regex..:
<cffunction name="getPlainTextFromHTML" access="public" returntype="string" output="false">
<cfargument name="html" type="string" required="true">
<cfscript>
var HTMLEditorKit = CreateObject("java","javax.swing.text.html.HTMLEditorKit").init();
var styledDocument = CreateObject("java","javax.swing.text.html.HTMLDocument").init();
var reader = CreateObject("java","java.io.StringReader").init(arguments.html);
HTMLEditorKit.read(reader,styledDocument,0);
return styledDocument.getText(0,styledDocument.getLength());
</cfscript>
</cffunction>

