Relatorio pdf

1 resposta
C

olá pessoal estou fazendo um relatorio em pdf com o ireport só que não está trazendo nada a página fica em branco vcs tem ideia do que pode ser?

import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.util.JRLoader;


public class GerarParecerPdf extends HttpServlet {
	
	private static final long serialVersionUID = 1L;

	public GerarParecerPdf() {
	}
	
	@Override
	public void init() throws ServletException {
	}
	
	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		
		ServletContext context = getServletContext();
		
		
		String pathRelativoComissao = context.getRealPath("/WEB-INF/reports/Relatorio_TESTE_COMISSAO.jasper");
		String pathRelativoAjuste = context.getRealPath("/WEB-INF/reports/Relatorio_TESTE_AJUSTE.jasper");
		String pathRelativoSintetico = context.getRealPath("/WEB-INF/reports/Relatorio_Teste_Sintetico.jasper");
		
		//recupera a lista de model da sessao para ser utilizada no relatorio
		//List<PurchaseModel> mode = (List<PurchaseModel>)request.getSession().getAttribute("lista");
		//criar o datasource necessario para o preenchimento do relatorio utilizando a lista de model
		//RelatorioParecerDataSource ds = new RelatorioParecerDataSource(mode);
		//parametros utilizados no relatorio: path imagem e path subrelatorio
		
        List<ListasParecerDTO> mode = ParecerBusinessDTO.buscarInformacoesDTO();
		
		RelatorioAjusteDataSource ds = new RelatorioAjusteDataSource(mode);
		Map parametros = new HashMap();
		parametros.put("pathComissao", pathRelativoComissao);
		parametros.put("pathAjuste", pathRelativoAjuste);
		parametros.put("pathSintetico", pathRelativoSintetico);
		
		
		byte[] bytes = null;
		
		try{
			
			//carrega os arquivos jasper
			JasperReport relatorioJasperReport = (JasperReport)JRLoader.loadObject(context.getRealPath("/WEB-INF/reports/Relatorio_Principal_Pdf.jrxml"));
			
			
			//direciona a saida do relatório para um stream
			bytes = JasperRunManager.runReportToPdf(relatorioJasperReport, parametros, ds);
		}catch(JRException e){
			e.printStackTrace();
		}
		if(bytes != null && bytes.length > 0){
			//envia o relatorio em formato pdf para o browser
			response.setContentType("application/pdf");
			
			response.setContentLength(bytes.length);
			ServletOutputStream outputStream = response.getOutputStream();
			outputStream.write(bytes, 0, bytes.length);
			outputStream.flush();
			outputStream.close();
		}
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		super.doPost(req, resp);
	}
}

1 Resposta

DZR

O relatório gera algum erro?
Na pasta de saída do relatório está sendo gerado o PDF?
O relatório funciona corretamente, usando o viewer do JasperReport?

Criado 17 de agosto de 2011
Ultima resposta 17 de ago. de 2011
Respostas 1
Participantes 2