Pessoal, estou tentando exportar um relatório que consigo exportar para os formatos de PDF e XLS normalmente e disponibilizar para download, no entanto, não consigo exportar corretamente para RTF. O arquivo que é criado, tem apenas os logotipos do relatório, a listagem textual não aparece.
Segue o código que gera o relatório e o código para download:
ByteArrayOutputStream baosReport = new ByteArrayOutputStream();
JRRtfExporter rtf = new JRRtfExporter();
rtf.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");
rtf.setParameter(JRExporterParameter.JASPER_PRINT, jp);
rtf.setParameter(JRExporterParameter.OUTPUT_STREAM, baosReport);
rtf.exportReport();
try {
sendStreamToDownload(baosReport, "RelatórioDownload.rtf");
} catch (Exception e) {
e.printStackTrace();
}
public static void sendStreamToDownload(ByteArrayOutputStream baosFile, String fileName) {
try {
//HTML RESPONSE
HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().
getExternalContext().
getResponse();
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
response.setContentLength(baosFile.size()); //para o pdfStream
//*/
// SERVLET OUTPUT STREAM
ServletOutputStream sosResponse;
sosResponse = response.getOutputStream();
baosFile.writeTo(sosResponse);
sosResponse.flush();
sosResponse.close();
FacesContext.getCurrentInstance().responseComplete();
baosFile.close();
baosFile = null;
//*/
} catch (Exception e) {
e.printStackTrace();
}
}
O que pode estar errado?
Obrigado.