Jasper +pdf

7 respostas
R

Pessoal…
Estou tentando abrir um relatório feito no ireport… em pdf
mas dá o seguinte erro:
net.sf.jasperreports.engine.JRException: Error loading object from file : C:\speen\Relatorio\pessoas.pdf

alguem sabe como resolveer?

abraços…

7 Respostas

helviojunior

Não dá, o iteport não abre PDF só gera, tente usar o PDFRenderer (100% java) da sun ou abrir o pdf a partir de um programa local.

paulinhohd

Rafael, não sei se você está com o mesmo problema que e meu, mas vou explicar melhor se for o mesmo: (pelo menos é o mesmo erro rs..)

Com este fonte estou tentando gerar e chamar o relatorio:

Map parameters = new HashMap();   
							           
							        parameters.put("titulo", "Relatório Perdas");   
							        try {   
							        JasperFillManager.fillReportToFile("C:\\Users\\Paulo Roberto\\Documents\\Projeto Fisp 2008\\Downloads\\iReport-3.0.0\\classic.jasper", parameters);   
							        } catch (JRException ex) {   
	                                   ex.printStackTrace();   
							        }         
				                    try {   
							        JasperExportManager.exportReportToPdfFile("C:\\Users\\Paulo Roberto\\Documents\\Projeto Fisp 2008\\Downloads\\iReport-3.0.0\\classic.jrprint");
							        JasperViewer.viewReport("C:\\Users\\Paulo Roberto\\Documents\\Projeto Fisp 2008\\Downloads\\iReport-3.0.0\\classic.pdf",false);
							        } catch (JRException ejr) {   
							            // TODO Auto-generated catch block   
							            ejr.printStackTrace();   
							        }
Porém ele gera o PDF (em branco mas gera) mas da erro ao carregálo, vejam o log:

net.sf.jasperreports.engine.JRException: Error loading object from file : C:\Users\Paulo Roberto\Documents\Projeto Fisp 2008\Downloads\iReport-3.0.0\classic.pdf
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:92)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:64)
at net.sf.jasperreports.view.JRViewer.loadReport(JRViewer.java:1417)
at net.sf.jasperreports.view.JRViewer.(JRViewer.java:253)
at net.sf.jasperreports.view.JRViewer.(JRViewer.java:224)
at net.sf.jasperreports.view.JasperViewer.(JasperViewer.java:142)
at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:409)
at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:340)
at gui.Tela_Pesq$1.actionPerformed(Tela_Pesq.java:121)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at ch.randelshofer.quaqua.QuaquaButtonListener.mouseReleased(QuaquaButtonListener.java:86)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.io.StreamCorruptedException: invalid stream header: 25504446
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.(Unknown Source)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:87)
... 33 more

Se alguém souber... 8)

R

É exatamente isso que acontece no meu…=/
será que alguem sabe como resolver isso?
Se no ireport eu consigo gerar e abrir relatórios em pdf… eu tenho que conseguir tbm através da minha aplicação…

abraços…

paulinhohd

É vamos ver se alguém tem alguma luz divina para nos ajudar! :lol:

alves.Felipe

Ola...
Paulinho.. pelo que vi em seu código, vc não esta passando uma conexão válida..não sei se é esse o problema...

JasperFillManager.fillReportToFile("C:\\Users\\Paulo Roberto\\Documents\\Projeto Fisp 2008\\Downloads\\iReport-3.0.0\\classic.jasper", parameters);

mas provavelmente vc faz algum select no Jasper né??

tenta fazer assim:
//cria uma conexão válida...
Connection con = getDataSource().getConnection();
			JasperPrint jasper = JasperFillManager.fillReport(nome_arquivo_relatorio, parametros, con);
			
			JasperExportManager.exportReportToPdfStream(jasper,response.getOutputStream());
helviojunior 19/08/2008 15:20:21 Assunto: Re:jasper +pdf

--------------------------------------------------------------------------------

Não dá, o iteport não abre PDF só gera, tente usar o PDFRenderer (100% java) da sun ou abrir o pdf a partir de um programa local.

no iReport da para visualizar PDF também. É só configurar.. :)

zschornack

Opa! Estou com o mesmo problema do Paulinho e testei no meu código o que alves.Felipe indicou, mas nada ¬¬
Mesmo passando uma conexão válida ou um JRResultSetDataSource continua dando o mesmo erro…

Vou tentar utilizar o PdfRenderer pra visualizar o relatório, e daqui a pouco posto o resultado.

Meu código, por enquanto, é o seguinte:

JasperFillManager.fillReportToFile("ReciboPagamento.jasper","ReciboPagamento.jrprint", parametros, jrrs); JasperExportManager.exportReportToPdfFile( "ReciboPagamento.jrprint","ReciboPagamento.pdf" ); JasperViewer.viewReport("ReciboPagamento.pdf",false);

Se tiver algum erro, por favor me falem :stuck_out_tongue:
Até mais!

zschornack

Eu dei uma olhada no PdfRenderer mas, com ele, eu só vi exemplos de PDF’s sendo abertos dentro de JFrames, o que no meu caso não convém :?

Não sei se é possível carregar um arquivo PDF, usando o PdfRenderer, normalmente (fora de um JFrame)… se alguém souber, por favor, me diga como.

Aqui tem um código de exemplo de como carregar um arquivo PDF dentro de um JFrame usando o PDFRenderer:

https://pdf-renderer.dev.java.net/examples.html

Se isso servir pra você Paulinho, legal! :slight_smile:

Em relação a tudo isso, eu tenho uma dúvida:
Eu posso carregar qualquer arquivo pdf do meu pc usando

???

Tipo, mesmo que esse arquivo pdf não tenha sido gerado com jasper (ou seja, é um pdf qualquer salvo no meu pc)?? Isso é possível?

Muito Obrigado!

Criado 18 de agosto de 2008
Ultima resposta 1 de mar. de 2009
Respostas 7
Participantes 5