Emissão de relatórios em sistema web

Olá, boa tarde. Desenvolvi um sistema web e agora estou precisando partir para a emissão de relatórios. O que utilizar para esta parte?

Rapaz tem muito o que ser feit não, é web, imprime o que tu quer na tela e põe um botão para poder imprimir via javascript. valeu

afffff…

amigo

de uma olhadinha no jasper e ireports

abrassss

Usei IReport e JasperReports

Cria o arquivo no IReport. Executa via Java com JasperReports.

o/

Bom diaaa!
Pra gerar relatório faz no Ireport, qualquer coisa só falar, eu coloco aqui…

Oi pessoal, aproveitando o tópico (rsrs)
Bom eu tenho já os relatorios no IReport, com conexão no banco e tal, e agora como faço para colocar na minha aplicação web???
Podem me ajudar???

tks :wink:

Vc usa tomcat ou JBoss?

Paezani isso faz diferença ?

eve_bsi vc ja consegue gerar os pdf’s ?

abrasssss

Em termos de uso não…é que eu trabalho com o Tomcat…ficaria mais fácil de ajudar…no Jboss não sei se muda alguma configuração.

Bom, eu na minha Servlet criei um botão ‘Relatorio’ assim:
PS: Coloque seu projeto no mesmo caminho que vc especificar no código…

(action.equalsIgnoreCase("Relatorio"))
								{
									
									//ServletContext context = getServletContext();

									byte[] bytes = null;

									try {
										//JasperReport relatorioJasper = (JasperReport) JRLoader.loadObject(context.getRealPath("/relatorio/Relatorio_Grupo.jasper"));
										JasperReport relatorioJasper = (JasperReport) JRLoader.loadObject("C:\\Documents and Settings\\Celia\\Meus documentos\\testandoMONO\\ProjetoServletTFG\\WebContent\\Relatorios\\RelatorioFuncionario.jasper");
										

										Map<String, Object> params = new HashMap<String, Object>();
										//params.put("DATA", dataServidor);
										//params.put("MES_ANO_INI", dataInicial);
										//params.put("MES_ANO_FIM", dataFinal);
										//params.put("OBSERVACOES", "NÃO CONSTA AS DESPESAS GERADAS COM MATERIAIS DE ORTESE E PROTESE");

										//bytes = JasperRunManager.runReportToPdf(relatorioJasper, params, ds);
										bytes = JasperRunManager.runReportToPdf(relatorioJasper, params, con.getConnection());
									} 
									catch (JRException e) 
									{
										e.printStackTrace();
									}

									if (bytes != null && bytes.length > 0) 
									{
										response.setContentType("application/pdf");
										response.setContentLength(bytes.length);

										ServletOutputStream ouputStream = response.getOutputStream();
										ouputStream.write(bytes, 0, bytes.length);
										ouputStream.flush();
										ouputStream.close();

										//gerou = true;
									}
									
								}
				} 

Então ainda não (eu acho), simplesmente eu fiz o layout do relatorio no IReport, mas com conexao no banco…
Eu não conheço essa ferramenta Ireport muito bem, ela é novidade para mim…rs
Não coloquei na minha aplicação ainda… Eu gostaria de saber como q eu coloco isso na aplicação, me falaram para gerar tipo um jar…

TomCat

[quote=celia fernandes]Bom, eu na minha Servlet criei um botão ‘Relatorio’ assim:
PS: Coloque seu projeto no mesmo caminho que vc especificar no código…

JasperReport relatorioJasper = (JasperReport) JRLoader.loadObject("C:\\Documents and Settings\\Celia\\Meus documentos\\testandoMONO\\ProjetoServletTFG\\WebContent\\Relatorios\\RelatorioFuncionario.jasper"); [/quote]

Uhm… eu coloco meus arquivos .jasper, na minha pasta webcontent???

Galera, como eu faria caso eu quisesse imprimir erro relatorio que ta em pdf na impressora do cliente?
Tenho uma aplicação em JSF com um caso semelhante e preciso jogar direto na impressora do cidadão, sem que fosse necessário que ele baixasse o arquivo pdf, abrisse e enfim imprimisse.
Sei que tem como imprimir por javascript, mas como mando arquivos pdf pro js imprimir? (talvez eu esteja dizendo besteira)
Lembrando de novo que to gerando esse relatório em pdf pelo jasperreports no meu ManagedBean do JSF.

Alguma sugestão?

[quote=eve_bsi][quote=renanreismartins]
eve_bsi vc ja consegue gerar os pdf’s ?
[/quote]
Então ainda não (eu acho), simplesmente eu fiz o layout do relatorio no IReport, mas com conexao no banco…
Eu não conheço essa ferramenta Ireport muito bem, ela é novidade para mim…rs
Não coloquei na minha aplicação ainda… Eu gostaria de saber como q eu coloco isso na aplicação, me falaram para gerar tipo um jar…[/quote]

Na verdade o iReport serve apenas pra gerar jrxm, arquivo xml que contém as informações do layout do seu relatório.
Na sua aplicação você deve usar esse jrxml atravéz do jasperreports.
Ou seja, iReport e jasperreports devem ser usadas em conjunto.
É que montar esse xml do layout na mão seria desumano.

Tem material a rodo disso na internet, sugiro uma pesquisada.

Tchelo vc pode criar um atalho da internet qe acesse o servlet ou jsp que gere o relatório em pdf.Também deve ter exemplos de como imprimir sem precisar visualizar o pdf em java… Vc pode fazer esta rotina ao cliacar neste atalho por exemplo…

Paezani, não entendi muito bem o que quis dizer, será que poderia ser um pouco mais específico?
Me desculpe =/
No caso uso JSF, portando não escrevo servlets diretamente.
Meus relatórios são montados no ManagedBean (através de chamadas a métodos de outras camadas, mas isso não vem ao caso) gostaria de imprimi-lo no cliente sem que ele tivesse que baixar o pdf.
Será que tem jeito?

Bom Tchello num trabalhei com JSF… Eu trabalho com servlets, JSP… Os relatórios eu monto com Ireport/Jasper. Servidor: tomcat
Sim tem solução!
O que eu faço, simplificadamente, é mais ou menos assim: tenho um jsp que ao clicar no botão( ou link ou em uma imagem) ela chama uma sevlet que passa parametros p/ o relatório, se necessário , e este relatório é visualizado em pdf no browser, sem precisar baixar o pdf!
Pode ser visualizado tanto no servidor , como em máquinas clientes… Entendeu?

Se precisar de ajuda é só falar…

Sim, eu entendi perfeitamente.
O que eu perguntei é como se faz para visualizar o pdf no navegador, sem fazer o download. Essa é a minha dúvida.
Será que poderia me ajudar?

Muito obrigado!! =D

Tchello amigo pra visualizar o pdf no navegador vc tera de setar o content tupe como application/pdf e imprimir os bytes do seu pdf com algum ServletOutputStream.

realmente vc vai ter que apontar o link para um servlet, entao para nao sair da navegaçao vc pode setar o target do link como _blank

abrassssssssssssssssss