Lotus Notes附件导出[关闭]

问题描述 投票:1回答:2

有没有人找到如何从.NSF文件导出附件的解决方案?以及如何将Lotus Notes表单导出为PDF文件?

能够以富文本格式将Body导出为单独的MS Word文件。但是无法从数据库主体获取附件。

将Lotus Notes的内核尝试为PDF,但它仅适用于mail-in数据库。

export lotus-notes attachment
2个回答
1
投票

下面是一个代理代码,取自官方多米诺设计师文档。它迭代邮件数据库中的所有文档并处理每个文档。在每个文档中,它从字段Body获取一个富文本项对象:

RichTextItem body = (RichTextItem)doc.getFirstItem("Body");

然后,它通过以下方式从此富文本项对象中获取嵌入对象的列表:

Vector v = body.getEmbeddedObjects();

然后它遍历此列表以通过以下方式确定文件附件:

if (eo.getType() == EmbeddedObject.EMBED_ATTACHMENT) { ... }

已找到附件,它将被提取到c:\\extracts\\文件夹,保留附件文件名。

如果将附件存储在具有不同名称(不是Body)的富文本字段中,只需修改以下代码即可反映您的要求。

代理商代码:

import lotus.domino.*;
import java.util.Vector;
import java.util.Enumeration;

public class JavaAgent extends AgentBase {
  public void NotesMain() {
    try {
      Session session = getSession();
      AgentContext agentContext = session.getAgentContext();
      // (Your code goes here) 
      Database db = agentContext.getCurrentDatabase();
      DocumentCollection dc = db.getAllDocuments();
      Document doc = dc.getFirstDocument();
      boolean saveFlag = false;
      while (doc != null) {
        RichTextItem body = 
        (RichTextItem)doc.getFirstItem("Body");
        System.out.println(doc.getItemValueString("Subject"));
        Vector v = body.getEmbeddedObjects();
        Enumeration e = v.elements();
        while (e.hasMoreElements()) {
          EmbeddedObject eo = (EmbeddedObject)e.nextElement();
          if (eo.getType() == EmbeddedObject.EMBED_ATTACHMENT) {
            eo.extractFile("c:\\extracts\\" + eo.getSource());
            saveFlag = true;
            }
        }
        if (saveFlag) {
          doc.save(true, true);
          saveFlag = false;
          }
        doc = dc.getNextDocument();
      }
    } catch(NotesException e) {
      System.out.println(e.id + " " + e.text);
      e.printStackTrace();
    }
  }
}

还要检查my answer to a similar question here


0
投票

关于将Notes文档导出为PDF文件,几年前我在博客上发表了这篇文章:http://blog.texasswede.com/lotusscript-class-for-generating-pdf-files-using-n2pdf/

您需要第三方工具,我当时使用的是N2PDF,但您也可以使用SWING PDF Creator(它更便宜,我发现它更容易使用且更可靠)。

© www.soinside.com 2019 - 2024. All rights reserved.