使用POI4Xpages API将Word转换为PDF到Notes文档

时间:2018-11-16 07:34:31

标签: java apache-poi xpages lotus-notes ssjs

我已经使用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解决方案也可以。

谢谢

托马斯

1 个答案:

答案 0 :(得分:1)

有些复制和粘贴,但这是将其流式传输为RTF文本字段的方法,但是您需要将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