You could take the contents from OBX-5 and then use a java jar from some source in order to convert from rtf into pdf.
Below is an example using openoffice. You would need to have open office installed on your computer and import the jar files into Qvera.
// This mapping uses the jodconverter-2.2.2 library found at
// http://www.artofsolving.com/opensource/jodconverter
// put the following 5 jars into the QIE\lib\jodconverter-2.2.2\ folder
// jodconverter-2.2.2.jar
// juh-3.0.1.jar
// jurt-3.0.1.jar
// ridl-3.0.1.jar
// unoil-3.0.1.jar
// and then configure QIE to include that directory using the
// 'Manage External Libraries' button under 'System Configuration'
// RTF content
var rtf = message.getNode('/');
// connect to an OpenOffice.org instance running on port 8100
var connection = new com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection(8100);
var outputStream = new java.io.ByteArrayOutputStream();
try {
connection.connect();
// convert RTF to PDF
var inputStream = new java.io.ByteArrayInputStream(new java.lang.String(rtf).getBytes());
var registry = new com.artofsolving.jodconverter.DefaultDocumentFormatRegistry();
var converter = new com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter(connection, registry);
converter.convert(inputStream, registry.getFormatByFileExtension("rtf"), outputStream, registry.getFormatByFileExtension("pdf"));
} finally {
// close the connection
connection.disconnect();
}
// create output filename as {PID-5.1}_{OBX-14}_{DocTypeName}.pdf
var filename = "c:\\temp\\" + source.getNode('PID-5.1') + '_' + source.getNode('OBX-14') + '.pdf';
var file = new java.io.File(filename);
if (file.exists()) {
qie.deleteFile(file);
}
// write bytes out to file
var out = new java.io.FileOutputStream(file, false);
var bytes = outputStream.toByteArray();
for (var i=0 ; i < bytes.length ; i++) {
out.write(bytes[i]);
}
out.close();
// log file saved
qie.info('saved to ' + filename);