如何使用LotusScript从Notes中将Rich Text字段导出为HTML?

Emi*_*sen 4 lotus-notes export lotusscript lotus-domino

我正在进行数据迁移任务,我必须将一个稍大的Lotus Notes应用程序导出到博客平台.我的第一个任务是将Lotus Notes中的文章导出为CSV文件.

我在LotusScript中创建了一个代理,将数据导出为CSV文件.我使用此IBM DeveloperWorks论坛帖子的修改版本.它基本上完成了这项工作.但Rich Text字段的内容将被删除任何格式.这不是我想要的,我希望Rich Text字段呈现为HTML.

GetItemValue方法的文档明确声明文本呈现为纯文本.所以我开始研究能够检索HTML的东西.我在IBM文章如何使用LotusScript访问富文本字段中找到了NotesMIMEEntity类和一些示例代码.

但是,对于上述文章中描述的技术,富文本字段需要具有"将内容存储为HTML和MIME"属性.我的Lotus Notes数据库不是这种情况.我试图在有问题的字段上设置属性,但它没有做到这一点.

是否可以使用NotesMIMEEntity并在添加内容后设置"将内容存储为HTML和MIME"属性,以导出呈现为HTML的字段?

或者我将Notes数据库Rich Text字段导出为HTML的选项有哪些?

额外信息:我使用的是IBM Lotus Domino Designer 8.5版

D.B*_*ger 8

有一个相当未知的命令可以完全按照您的要求执行:使用命令OpenField检索URL.

仅转换Body-field的示例:

http://SERVER/your%5Fdatabase%5Fpath.nsf/NEW%5FVIEW/docid/Body?OpenField
Run Code Online (Sandbox Code Playgroud)


Cas*_*ard 6

这是我使用 OpenField 命令的方法,请参阅上面 D.Bugger 的帖子

Function GetHtmlFromField(doc As NotesDocument, fieldname As String) As String
    Dim obj
    Set obj = CreateObject("Microsoft.XMLHTTP")
    obj.open "GET", "http://www.mydomain.dk/database.nsf/0/" + doc.Universalid + "/" + fieldname + "?openfield&charset=utf-8", False, "", ""
    obj.send("")

    Dim html As String
    html = Trim$(obj.responseText)

    GetHtmlFromField = html
End Function
Run Code Online (Sandbox Code Playgroud)


Ken*_*isa 5

我建议查看 Midas 的 Rich Text LSX ( http://www.geniisoft.com/showcase.nsf/MidasLSX )

我个人没有使用过,但我记得多年前它们是使用富文本的最佳选择。我敢打赌,它可以为您省去很多麻烦。

至于 NotesMIMEEntity 类,我不相信有一种方法可以将 RichText 转换为 MIME,只能将 MIME 转换为 RichText(或将 MIME 保留在文档中以用于发送电子邮件)。


Ker*_*err 5

如果升级到Notes Domino 8.5.1,则可以使用该类的新ConvertToMIME方法NotesDocument.查看文档.这应该做你想要的.

另外,让Domino服务器呈现RichText的最简单方法是通过url调用实际检索它.设置一个只有RichText字段的简单表单,然后使用您喜欢的HTTP API来拉入页面.那么拔出身体应该是非常直接的.