Thomas Adrian
Thomas Adrian

Reputation: 3636

Word to PDF to Notes Document using the POI4Xpages api

I have created a PDF from a word document using POI4XPages api. here is the code:

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)

As you can see the result of my code is an OutputStream, The next step for me is to convert the stream to an attachment and attach it to a notesdocument but don't know how to do that. It doesn't really matter if I first need to attach it to disc or if it written to a body field immediately.

The poiBean is described here https://github.com/OpenNTF/POI4Xpages/blob/master/biz.webgate.dominoext.poi/src/biz/webgate/dominoext/poi/beans/PoiBean.java

I am using SSJS here but I guess a java solution would work as well.

thanks

Thomas

Upvotes: 1

Views: 204

Answers (1)

Fredrik Norling
Fredrik Norling

Reputation: 3484

Some copying and pasting but this is how you stream it into an richtext field but you need to convert os to an inputstream and assign this to a variable called 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);

This is what I based the example on

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

Upvotes: 1

Related Questions