Olá
Estou desenvolvendo uma aplicação web e estou gerando a NFe. Já consegui gerar o xml.
Agora estou precisando gerar o DANFE. Pesquisando li que é mas fácil passar o xml. Então estou tentando gerar assim, mas só me retorna uma página em branco sem erro.
public void getGerarNFe(String relatorio, String arquivo, Map<String, Object> parametros, String strXML) throws UnsupportedEncodingException {
stream = this.getClass().getClassLoader().getResourceAsStream(relatorio);
InputStream streamXML = new ByteArrayInputStream(strXML.getBytes("utf-8"));
try {
JasperReport report = (JasperReport) JRLoader.loadObject(stream);
//Configurando a classe JRXmlDataSource que apontara o caminho do nosso XML de dados e sua pesquisa XPath geral
JRXmlDataSource xml = new JRXmlDataSource(streamXML, "/NFe/infNFe");
baos = JasperRunManager.runReportToPdf(report, parametros, xml);
response.reset();
response.setContentType("application/pdf");
response.setHeader("Content-disposition", "filename=\"" + arquivo + ".pdf\"");
response.setContentLength(baos.length);
response.getOutputStream().write(baos, 0, baos.length);
response.getOutputStream().flush();
response.getOutputStream().close();
context.renderResponse();
context.responseComplete();
} catch (JRException ex) {
Logger.getLogger(ClsGerarRelatorio.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(ClsGerarRelatorio.class.getName()).log(Level.SEVERE, null, ex);
}
}