Não consigo exibir um PDF com Jasper Report

1 resposta
I

Olá pessoal,
Venho tentando já a dois dias exibir um PDF com Jasper Report no Wilfly 10.0.0 final.

public void emitirListaRemessa() throws ParserConfigurationException, SAXException, IOException, JRException{
	
	this.embalagens = new GestaoRemessas().embalagemPorIdRemessa(this.remessaselecionada.getRemessaid());
	
	CorreiosBean cb = new CorreiosBean();
	
	cb.lerArquivoXml();
	
	Map<String, Object> parametros = new HashMap<String, Object>();
	
	parametros.put("nrcontrato",cb.getCartaopostagem().getNumcontrato());
	parametros.put("nrcodadm",cb.getCartaopostagem().getCodigoadm());
	parametros.put("nrcartaopostagem",cb.getCartaopostagem().getNumcartao());
	
	FacesContext facesContext = (FacesContext) FacesContext.getCurrentInstance();
	HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
	response.setContentType("application/pdf");
	
	response.setHeader("Content-disposition","inline;filename=relatorio.pdf");
	
	try {
		ServletOutputStream servletOutputStream = response.getOutputStream();

		java.io.InputStream reportStream = facesContext.getExternalContext().getResourceAsStream("/resources/relatorios/encomendaFaturarPAC.jasper");//

		parametros.put("SUBREPORT_DIR", FacesContext.getCurrentInstance().getExternalContext().getRealPath("/resources/relatorios"));
		parametros.put("IMAGE_DIR", FacesContext.getCurrentInstance().getExternalContext().getRealPath("/resources/images"));
	
		BufferedOutputStream bo = new BufferedOutputStream(servletOutputStream); //( new FileWriter (new File ("/relatorios/teste.txt")); 
		
		JasperRunManager.runReportToPdfStream(reportStream,	bo, parametros,
				new JRBeanCollectionDataSource((Collection<?>) this.embalagens,	false));// JREmptyDataSource()

	//	servletOutputStream.flush();
	//	servletOutputStream.close();
	} catch (JRException e) {
		e.printStackTrace();
		System.out.println("======== erro de PDF 1 "+e.getMessage());
	} catch (IOException e) {
		e.printStackTrace();
		System.out.println("======== erro de PDF 2 "+e.getMessage());
	} finally {
		facesContext.responseComplete();
	}

	
}`

No xhtml está da seguinte forma:

<p:commandButton

title=“Listagem de remessa” value=“Listagem de remessa"

rendered=”#{request.isUserInRole(‘1’) or request.isUserInRole(‘507’)}“

action=”#{remessabean.emitirListaRemessa}">

<f:setPropertyActionListener

target="#{remessabean.remessaselecionada}" value="#{remessa}" />

</p:commandButton>

1 Resposta

L

Antes de qualquer coisa, está gerando erro? Ou roda normal e só não gera o pdf?

Criado 1 de julho de 2016
Ultima resposta 1 de jul. de 2016
Respostas 1
Participantes 2