简体   繁体   English

使用lotus.domino在Notes文档中插入图像/文件

[英]Insert images / files inside Notes document using lotus.domino

I am trying to insert some inline image and inline attachment inside Notes document, using Rich Text format by lotus.domino package Java API, and send it. 我试图在Notes文档中插入一些内联图像和内联附件,使用lotus.domino包Java API的Rich Text格式,然后发送它。

The code of inserting is as below. 插入代码如下。

// 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();

Right now I have got: 现在我有: 在此输入图像描述

What I want to have is: 我想要的是: 在此输入图像描述

Thanks in advance. 提前致谢。

Here is a LotusScript function I found on the net. 这是我在网上找到的LotusScript函数。 the same classes should be available in Java: 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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM