1

我使用 POI4XPages api 从 word 文档创建了一个 PDF。这是代码:

var template = poiBean.buildResourceTemplateSource(null,"purchaseorder.docx");
var result = poiBean.processDocument2Stream(template, lst);
var is:java.io.InputStream = new java.io.ByteArrayInputStream(result.toByteArray());
var os:java.io.OutputStream = poiBean.buildPDFFromDocX(is)

如您所见,我的代码的结果是一个 OutputStream,对我来说,下一步是将流转换为附件并将其附加到 notesdocument 但不知道该怎么做。我是否首先需要将其附加到光盘或是否立即将其写入正文字段并不重要。

poiBean 在这里描述 https://github.com/OpenNTF/POI4Xpages/blob/master/biz.webgate.dominoext.poi/src/biz/webgate/dominoext/poi/beans/PoiBean.java

我在这里使用 SSJS,但我想 java 解决方案也可以。

谢谢

托马斯

4

1 回答 1

1

一些复制和粘贴,但这是您将其流式传输到富文本字段的方式,但您需要将 os 转换为输入流并将其分配给名为 is2 的变量

var stream:NotesStream = session.createStream();
session.setConvertMIME(false);
var doc:NotesDocument = database.createDocument();
var body:NotesMIMEEntity = doc.createMIMEEntity();
stream.setContents(is2); // is an inputstream
body.setContentFromBytes(stream, "application/octet-stream",NotesMIMEEntity.ENC_IDENTITY_BINARY);

stream.close();
doc.save(true, true);

session.setConvertMIME(true);

这就是我基于示例的

https://openntf.org/XSnippets.nsf/snippet.xsp?id=create-html-mails-in-ssjs-using-mime

于 2018-11-16T08:08:33.443 回答