Ocorrencia ocorrencia = ocorrenciaDAO.find(id); //'id' é um parâmetro passado
map.put("ocorrencia", ocorrencia);
map.put("nome", nome); //'nome' é um parâmetro passado
Set fundamentacoes = fundamentacaoDAO.findAll();
JREmptyDataSource eds = new JREmptyDataSource();
JRBeanCollectionDataSource jrDSFund = new JRBeanCollectionDataSource(fundamentacoes);
map.put("fundamentacoes", jrDSFund);
JasperReport relatorio = (JasperReport) JRLoader.loadObject(new File (C:/Resin/webapps/Rhnet/jaspers/ocorrencia.jasper"));
JasperPrint impressao = JasperFillManager.fillReport(relatorio, map, eds);
byte[] buffer = JasperExportManager.exportReportToPdf(impressao);
if(buffer != null) {
FileOutputStream outputStream = new FileOutputStream(new File("C:/Resin/webapps/Rhnet/pdfs/requerimento.pdf"));
outputStream.write(buffer, 0, buffer.length);
outputStream.flush();
outputStream.close();
};
return true;
O bizarro é que o arquivo é gerado, podendo ser aberto de todas as maneiras (clique, link, navegador, Adobe Reader)... mas, na jsp, quando peço para redirecionar a página para o pdf, o Adobe Reader diz que o arquivo está danificado, embora consiga redirecionar tranquilamente com o javascript window.location .
(Já trabalhei na a geração de pdf com JasperFillManager e JasperExportManager, e funcionam.)
Alguma coisa errada no bloco if, onde gero o arquivo requerimento.pdf? :shock: