Olá pessoal,
Como funciona o JasperReports na Web? Eu vi alguns exemplos na net e percebi que gera um pdf e abre o pdf dentro do browser. Eu realmente preciso fazer isso? Não tem como eu abrir direto no browser? Como eu faço isso?
Obrigado
Olá pessoal,
Como funciona o JasperReports na Web? Eu vi alguns exemplos na net e percebi que gera um pdf e abre o pdf dentro do browser. Eu realmente preciso fazer isso? Não tem como eu abrir direto no browser? Como eu faço isso?
Obrigado
Você quer dizer gerar relatórios em HTML a partir do jasperReports? Dá sim.
Sabe o vizualizador do jasper… então eu preciso que apareça dentro de browser.
Tem como fazer isso?
Desculpa, não entendi o que vc quis dizer com visualizador… O Ireport?
E se vc gerar um relatório PDF, o cliente (o navegador) que vai decidir como abrir aquilo. O IE abre direto o PDF, o FF pergunta o que fazer.
Desculpa, não entendi o que vc quis dizer com visualizador… O Ireport?E se vc gerar um relatório PDF, o cliente (o navegador) que vai decidir como abrir aquilo. O IE abre direto o PDF, o FF pergunta o que fazer.
Com o vizualizador do IReports. Eu estou querendo fazer desta forma porque eu tenho que ter uma opção para imprimir. Quando eu abrir o relatório no browser não vou ter que tirar a barra de endereços e barras de menus. Se eu gerar o pdf no cliente (navegador) não vou ter como colocar uma opção de imprimir.
O jasper te da varias maneiras de abrir o relatorio.
Voce pode usar o classe JasperExportManager para gerar em PDF, HTML ou XML, e usar response.setContentType(XXX), para o browser abrir o report do jeito que voce quiser.
Tambem tem a classe JExcelApiExporter para exportar para excel, a JRRtfExporter para exportar para RTF. Não sei se tem um visualizador tipo o do ireport, vc precisa ver se o jasper implementa uma classe que visualize desta maneira.
Esta eh uma boa tarefa de casa.
Aqui eu gero um relatoiro em pdf no browser, e tem a opcao de imprimir:
ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
JasperExportManager.exportReportToPdfStream(jasperPrint, arrayOutputStream);
response.setContentType("application/pdf");
response.setHeader("Pragma","");
response.setHeader("Cache-Control","");
response.setHeader("Expires","");
response.setHeader("Content-Disposition", "inline; filename=" + reportName.toUpperCase() + "." + reportType);
response.setContentLength(arrayOutputStream.size());
// escreve o relatorio no response
OutputStream out = response.getOutputStream();
arrayOutputStream.writeTo(out);
out.flush();
out.close();
Se for somente imprimir, os clientes PDF já possuem uma opção para imprimir. 
Parece que o que vc deseja é que o browser abra um visualizador de PDF embutido.
Existe uma razão para que o relatório tenha mesmo que ser em PDF?
isso depende de como você implementou o código.
Se você adicionar o Header:
response.setHeader(“Content-Disposition”, "inline; filename=“teste.pdf”);
o IE e o FF vão perguntar o que você deseja fazer com o arquivo (abrir ou salvar).
Se for somente imprimir, os clientes PDF já possuem uma opção para imprimir.![]()
Parece que o que vc deseja é que o browser abra um visualizador de PDF embutido.
Existe uma razão para que o relatório tenha mesmo que ser em PDF?
Então CintiaDR, eu não quero que o relatório seja em pdf. Se tiver alguma forma de fazer eu gostaria de o vizualizador do ireports seja embutido no browser.
Alguns brownser tem cliente PDF embutido, e segundo reza o google e o Marcelo aqui em cima, dependendo do Content-Diposition que vc os coloque, ele abre esse cliente dentro da tela do browser. (Eu particularmente ODEIO quando o browser não me deixa opções de abrir ou salvar.) Mas dê uma pesquisada no google e aqui no GUJ por “abrir pdf” e similares, que deve ter muita gente que já teve esse problema.
Isso depende de como você implementou o código.Se você adicionar o Header:
response.setHeader(“Content-Disposition”, "inline; filename=“teste.pdf”);o IE e o FF vão perguntar o que você deseja fazer com o arquivo (abrir ou salvar).
É? Hum, eu sempre coloco o content como ‘Attachment’… :shock:
Usualmente a gente gera em PDF para ficar uma impressão bem bonita. Ah, é é viSualizador, com ‘S’ 
Vc pode pensar em gerar as duas versões - HTML e PDF, uma para ver e outra para guardar. Dá praticamente o mesmo trabalho criar um formato ou vários.
Alguns brownser tem cliente PDF embutido, e segundo reza o google e o Marcelo aqui em cima, dependendo do Content-Diposition que vc os coloque, ele abre esse cliente dentro da tela do browser. (Eu particularmente ODEIO quando o browser não me deixa opções de abrir ou salvar.) Mas dê uma pesquisada no google e aqui no GUJ por “abrir pdf” e similares, que deve ter muita gente que já teve esse problema.Isso depende de como você implementou o código.Se você adicionar o Header:
response.setHeader(“Content-Disposition”, "inline; filename=“teste.pdf”);o IE e o FF vão perguntar o que você deseja fazer com o arquivo (abrir ou salvar).
É? Hum, eu sempre coloco o content como ‘Attachment’… :shock:
Vou dar uma olhada. Obrigado pela ajuda
Alguém pode me ajudar?
Consegui fazer o pdf abrir no browser, mas no caso de gráficos ele não funciona… alguém tem algum tutorial ou exemplo pronto que possa me ajudar?
Esse IReport não tem leitura na internet :x !!! Não encontro nada :x !!!
Obrigado!
Bom dia pessoal,
Alguém conseguiu emitir um gráfico na web com ireport + jasperReport + eclipse??
To tentando e da dando o seguinte erro:
java.lang.ClassNotFoundException: org.exolab.castor.xml.ValidationException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1484)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)
at net.sf.jasperreports.chartthemes.simple.XmlChartThemeExtensionsRegistryFactory.createRegistry(XmlChartThemeExtensionsRegistryFactory.java:75)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.instantiateRegistry(DefaultExtensionsRegistry.java:238)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:213)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:162)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getRegistries(DefaultExtensionsRegistry.java:132)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:104)
at net.sf.jasperreports.engine.util.JRStyledTextParser.(JRStyledTextParser.java:76)
at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:182)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:77)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:87)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:57)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:52)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
at net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:281)
at action.relatorios.EstoqueAtual.geraGraficoMaiorSaida(EstoqueAtual.java:201)
at action.relatorios.EstoqueAtual.doPost(EstoqueAtual.java:58)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Se alguém puder ajudar, agradeço.
Obrigado