在domino notes中添加带有java的图片

在domino notes中添加带有java的图片,java,image,add,lotus-domino,Java,Image,Add,Lotus Domino,我试图在Notes文档中添加一些图片,但不是附件图片,只是“导入”图片 我正在努力做到这一点:有一张附加图片很好,但我不想这样。 你能帮我吗 public void modificationDocNotes() throws ExceptionWS { String chemin; RichTextItem img = null; try { monDoc.replaceItemValue("Status", "");

我试图在Notes文档中添加一些图片,但不是附件图片,只是“导入”图片

我正在努力做到这一点:有一张附加图片很好,但我不想这样。 你能帮我吗

public void modificationDocNotes() throws ExceptionWS {

    String chemin;
    RichTextItem img = null;
    try {           
        monDoc.replaceItemValue("Status", "");
        monDoc.removeItem(docDTO.getNomChampNotes());   
        img = monDoc.createRichTextItem(docDTO.getNomChampNotes());                     


        for(PieceJointeDTO piecejointeDTO : docDTO.getPiecesJointesDTO())
        {
            chemin = docDTO.getRepertoire() + piecejointeDTO.getNomPiece();             

            img.embedObject(EmbeddedObject.EMBED_ATTACHMENT, null, chemin, null);                   


            if (docDTO.getNomChampCommentaire() != null)
            {
                monDoc.replaceItemValue(docDTO.getNomChampCommentaire(), piecejointeDTO.getCommentairePiece());
            }               
        }           
        monDoc.replaceItemValue("Status", "Ferme");
        monDoc.save(true,true);
        img.recycle();
        monDoc.recycle();                       

        System.out.println("modification d'un document Notes");
    } catch (NotesException e) {
        throw new ExceptionWS("ERREUR Notes sur méthode modificationDocNotes() sur Web Service RemonteeBlob RemonteeBlobDAO" , e, logDTO);
    }       
}
再见,蚂蚁非常感谢你的帮助


我尝试用html做同样的事情,但它不起作用

private void buildDocNotes() throws NotesException {
    String chemin;
    RichTextItem img = null;
    img = monDoc.createRichTextItem(docDTO.getNomChampNotes()); 

    StringBuilder builder = new StringBuilder("<html><head>");
    builder.append("MIME-Version: 1.0");        
    builder.append("Content-type: text/html; charset=utf-8");
    builder.append("</head><body>");
    for(PieceJointeDTO piecejointeDTO : docDTO.getPiecesJointesDTO())
    {
        chemin = docDTO.getRepertoire() + piecejointeDTO.getNomPiece();             

        builder.append("<img src='" + piecejointeDTO.getNomPiece() + "'/><br/>");

        img.embedObject(EmbeddedObject.EMBED_ATTACHMENT, null, chemin, null);                   

        if (docDTO.getNomChampCommentaire() != null)
        {
            monDoc.replaceItemValue(docDTO.getNomChampCommentaire(), piecejointeDTO.getCommentairePiece());
        }   
        piecejointeDTO.setResultat("O");
    }           

    builder.append("</body></html>");

    monDoc.appendItemValue(docDTO.getNomChampNotes(), builder.toString());
    monDoc.replaceItemValue("Status", "Ferme");
    monDoc.save(true,true);
    img.recycle();
    monDoc.recycle();
}
private void buildDocNotes()引发NotesException{
弦化学;
RichTextItem img=null;
img=monDoc.createRichTextItem(docDTO.getNomChampNotes());
StringBuilder=新的StringBuilder(“”);
append(“MIME版本:1.0”);
append(“内容类型:text/html;charset=utf-8”);
生成器。追加(“”);
for(PieceJoinedTo-PieceJoinedTo:docDTO.getPieceSJoinesDTo())
{
chemin=docDTO.getRepertoire()+pieceJoinedto.getNomPiece();
builder.append(“
”); img.embedObject(EmbeddedObject.EMBED_附件,null,chemin,null); if(docDTO.getNomChampCommentaire()!=null) { monDoc.replaceItemValue(docDTO.getNomChampCommentaire(),pieceJoinedTo.getCommentairePiece()); } 连接到.setResultat(“O”)的分段; } 生成器。追加(“”); monDoc.appendItemValue(docDTO.getNomChampNotes(),builder.toString()); monDoc.replaceItemValue(“状态”、“状态”); monDoc.save(true,true); img.recycle(); monDoc.recycle(); }
你能帮我吗?
非常感谢

除非您使用的是Notes C API,这是一个来自Java的硬接口,否则您将无法直接创建它

如果始终希望使用相同的图像(或有限的图像集之一),而图像不在表单元格或类似的单元格中,则可以手动创建其富文本字段仅包含所需图像的参考文档。然后使用RichTextItem的方法将参考文档的富文本附加到您在适当位置创建的文档中

如果由于某种原因无法使用,可以创建所需文档(包括图像)的DXL描述,然后使用DXLImporter对象导入它

要查看DXL的示例,需要手动创建一个示例文档,然后将其导出(或者不编写代码,在Domino Designer中创建一个页面设计元素,然后使用Tools/DXL Utilities/Viewer菜单导出该元素)

您可以在内存中创建文档,并在需要图像的位置用占位符填充富格文本。在不保存文档的情况下,使用DXLExporter将其导出,然后使用XML解析器(或字符串搜索)查找占位符,并将其替换为base64编码的图像内容和包含的元素


openntf.org中的LotusScript Gold Collection项目也包含一些可能对您有所帮助的示例,但是在LotusScript中。

我的回答涵盖了图片总是不同的情况,首先是“如果因为某种原因无法使用”。如果不更准确地知道图像数据的来源,我很难更具体地说,但是,您需要将图像数据转换为base64符号才能插入DXL。在我提到的openntf项目中,有一个将磁盘上的图像文件(例如)转换为base64的示例代码。如果您知道写入数据的格式,您也可以使用HTML和MIME来实现这一点。要了解如何使用,请使用“另存为MIME”rtf手动创建一个文档,并使用MIME API进行分析。非常感谢教程的帮助,但我不能使用dxl,我是初学者,这对我来说太难了!我用xpages的另一种方式做同样的事情。谢谢