【问题标题】:Word to PDF to Notes Document using the POI4Xpages apiWord to PDF to Notes Document 使用 POI4Xpages api
【发布时间】:2018-11-16 07:34:30
【问题描述】:

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

谢谢

托马斯

【问题讨论】:

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


    【解决方案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

    【讨论】:

    • 是的,我用过类似的东西,但问题是 setContent 接受 inputStream 而我有 outputStream。
    • @Thomas Adrian:“接受 inputStream 并且我有 outputStream”:如果 outputStream 写入文件,然后使用 FileInputStream 获取该文件。如果 outputStream 写入字节数组,则使用 ByteArrayInputStream 获取之后的字节数组。如果 outputStream 写入 foo,则使用 FooInputStream 获取之后的 foo。有什么问题吗?
    猜你喜欢
    • 2017-06-26
    • 2022-10-17
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    • 2018-10-19
    • 2015-11-05
    • 2022-12-28
    相关资源
    最近更新 更多