【问题标题】:Insert images / files inside Notes document using lotus.domino使用 lotus.domino 在 Notes 文档中插入图像/文件
【发布时间】:2015-06-17 04:04:09
【问题描述】:

我正在尝试在 Notes 文档中插入一些内联图像和内联附件,使用 lotus.domino 包 Java API 的富文本格式,然后发送。

插入代码如下。

// Insertion by RichTextItem.embedObject()

RichTextItem rti = (RichTextItem) doc.getFirstItem("Body");
RichTextNavigator rtnav;
rtnav = rti.createNavigator();
rtnav.findFirstElement( .../*Somewhere inside document*/ );
rti.beginInsert(rtnav);
rti.embedObject(EmbeddedObject.EMBED_ATTACHMENT,null, "C:\\TEMP\\abc.jpg", "InlineImageOrAttachment"); // insert file which is jpg/png/pdf/doc...etc
rti.endInsert();

现在我有:

我想要的是:

提前致谢。

【问题讨论】:

  • 也许您将邮件创建为 MIME ?否则我看不到在后端创建邮件的机会......
  • 在哪里运行代码?服务器端还是客户端?如果我记得很好,附件显示的图标(如果扩展名为 .rar,则说 winrar 图标)取决于本地配置。如果代码在未安装 winrar 的服务器上运行,您将永远不会有 winrar 图标。
  • 代码将在服务器端运行。开发环境中安装了Domino、Notes等各类pdf/png/rar软件。

标签: java lotus-notes lotus-domino lotusscript lotus


【解决方案1】:

这是我在网上找到的一个 LotusScript 函数。 Java 中应该有相同的类:

Function EmbedPictureIntoRichText(doc As NotesDocument,strFilePath As String)
       EmbedPictureIntoRichText = False
       Dim session As New NotesSession
       Dim db As NotesDatabase
       Dim body As NotesMIMEEntity
       Dim header As NotesMIMEHeader
       Dim child As NotesMIMEEntity
       Dim stream As NotesStream
       Dim fileFormat As String
       Dim rtitemA As NotesRichTextItem
       Dim rtitemB As NotesRichTextItem

       session.Convertmime = True
       Set db = doc.parentdatabase
       Set stream = session.CreateStream
       Call stream.Open(strFilePath)
       Set body = doc.CreateMIMEEntity("DummyRichText")
       Set header = body.CreateHeader("Content-Type")
       Call header.SetHeaderVal("multipart/mixed")
       Set child = body.CreateChildEntity()
       fileFormat = "image/jpeg"
       Call child.Setcontentfrombytes(stream, fileFormat, 1730)
       Call stream.Close()
       Call doc.save(False, False)
       Set rtitemA = New NotesRichTextItem(doc,"Photo")
       Set rtitemB = doc.GetFirstItem("DummyRichText")
       Call rtitemA.AppendRTItem( rtitemB )
       Call rtitemB.Remove()
       Call doc.save(False, False)
       EmbedPictureIntoRichText = True
End Function

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多