在B/S下如何保持RTF域格式(rtf,编程语言)

时间:2024-05-08 05:23:50 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

    %E5%9C%A8B%2FS%E4%B8%8B%E5%A6%82%E4%BD%95%E4%BF%9D%E6%8C%81RTF%E5%9F%9F%E6%A0%BC%E5%BC%8F

在Lotus b/s程序的开发中,经常要使用到RTF域,而Lotus提供的RTF虽然可以使用applet来显示并可以编辑文本文字的格式,但其功能有限,而且显示速度比较慢.也并不是所有的IE都支持.那么现在开发中用的最多的还是自已来处理RTF域的格式.目前使用最多的应该是基于DHTML编写的网页编辑器,它最终产生的是HTML代码,而在Lotus中HTML代码在RTF域中默认是把标签显示给了用户,这不是我们所想要的效果.解析后的效果才是我们所想要的. 现在总结一下显示RTF域中输入的文字的格式应该有三个不同的方法.看情况而定.

 
1.在RTF域中输入HTML代码,想保持HTML网页的格式.
  解决方法如下:
 Sub Initialize    
     Dim session As New NotesSession
     Dim db As NotesDatabase
     Set db = session.CurrentDatabase
     Dim doc As New NotesDocument(db)
     Call doc.AppendItemValue("From", session.UserName)
     Call doc.AppendItemValue("Subject", _
     "Meeting time changed")
     Dim richStyle As NotesRichTextStyle
     Set richStyle = session.CreateRichTextStyle
     Dim richText As New NotesRichTextItem(doc, "Body")
     richStyle.PassThruHTML = True
     Call richText.AppendStyle(richStyle)
     Call richText.AppendText("Hello")
     Call doc.Save(True, False)
End Sub
 
以上代码显示的最后效果是Hello而不是Hell,这段代码的关键是richStyle.PassThruHTML = True这句,它把RTF域的PassThruHTML属性设为了TRUE这时候RTF就会完全解析HTML标签并显示成网页的格式.
 
但是我好像发现在用代理来创建一个新文档时并不能直正的创建出一个richStyle.PassThruHTML = True的RTF域.有时候并不是很灵.特别是在当代理产生了多个同名的RTF域时这种情况出现的更多.
 
2.当RTF域中输入的是文本文字不带 HTML标签时,这时如果要在IE下保持格式需要把回车符换成HTML标签即:
或者是

标签.并把空格符换成
  又因为在dominoR5下lotusScript没有提供replace函数(Domino R6下自带了)所以我们必须要自已写一个replace函数来处理回车换行符.

本文:在B/S下如何保持RTF域格式的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:如何解决@Transactional遇到try catch失效的问题下一篇:

2 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18