XPAGES - 使用 getDocumentByUNID 添加富文本格式的文件

XPAGES - add a file in a rich text with getDocumentByUNID

我尝试使用 itext 创建 pdf 并将其添加到富文本中。 我创建 pdf 没问题,但是当我想将文件放入富文本格式时,出现错误:"null" in my document Notes.

没看懂

这是我的代码:

// recupere l'id du document ouvert dans l'url
            String idDocument = XSPContext.getXSPContext(FacesContext.getCurrentInstance())
                    .getUrl().getParameter("documentId");

            // recupere le document
            Session session = Factory.fromLotus(Utils.getSession(), Session.class, null);
            Database db = session.getCurrentDatabase();
            Document docRepeat = db.getDocumentByUNID(idDocument);

pieceJointe.copieFichierDansRichText(docRepeat, nomChampSauvegarderPdf, tempDocPdf,
                    nomPdf, REPERTOIRE);

我创建了我的 pdf 文件(没问题)并且 =>

public void copieFichierDansRichText(Document monDoc, String nomRti, File file,
        String nameFichier, String chemin) {  RichTextItem rtiNew = (RichTextItem) monDoc.createRichTextItem(nomRti);
    PieceJointe pieceJointe = new PieceJointe();
    pieceJointe = buildPieceJointe(file, nameFichier, chemin);

    rtiNew.embedObject(EmbeddedObject.EMBED_ATTACHMENT, null, pieceJointe.getChemin(),
            pieceJointe.getNomPiece());
    monDoc.computeWithForm(true, false);
    monDoc.save();}

我遇到的问题

但是当我用它来创建我的 pdf 时,我有信息没关系???? 只有当我想创建它说空异常的富文本时! 在控制台中我有 "org.openntf.domino.utils.DominoUtils run" 你能帮帮我吗?

编辑 似乎 docRepeat 是问题所在

Document docRepeat = db.getDocumentByUNID(idDocument);

我试试docRepeat不为null,toArray有异常....

我找到了! 它是 openntf,它不起作用。 我必须使用 lotus.domino.document =>

public void copieFichierDansRichText(String idDocument, String nomRti, File file,
        String nameFichier, String chemin) throws NotesException {

    lotus.domino.Session session = Utils.getSession();
    lotus.domino.Database db = session.getCurrentDatabase();
    lotus.domino.Document monDoc = db.getDocumentByUNID(idDocument);

    try {
        if (monDoc != null) {
            lotus.domino.RichTextItem rtiNew = (lotus.domino.RichTextItem) monDoc
                    .getFirstItem(nomRti);
            PieceJointe pieceJointe = new PieceJointe();
            pieceJointe = buildPieceJointe(file, nameFichier, chemin);

            rtiNew.embedObject(EmbeddedObject.EMBED_ATTACHMENT, "", pieceJointe.getChemin()
                    + pieceJointe.getNomPiece(), pieceJointe.getNomPiece());
            monDoc.computeWithForm(true, true);
            monDoc.save(true);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

}