Jasper ireport

6 respostas
idev4web

Tenho um relatorio que eh gerado em PDF. ate ai beleza.
O problema eh quando tem um subrelatorio.
Com o subrelatorio na hora em que o pdf eh carregado eu obtenho a seguinte mensagem:
Operacao invalida em um caminho.

Nao da excecao, nem erro de compilacao nada. apenas esta mensagem pelo acrobata.

Alguem que trabalha com ireport e o jasper ja passou por isto?

6 Respostas

paulo.ubuntu

Cara… ja trabalhei com o JR um bom tempo…

mas a resposta não vai te ajudar muito

realmente o caminho do subReport esta no lugar errrado !!

no meu aconteceu o seguinte… o Ireport adiciona um parametro do tipo String chamador SUBREPORT_DIR com o valor de “.//”

Ou seja quando eu chamava na minha aplicação …ele procurava no lugar errado

como solução te aconselho a passar o SUBREPORT por parametros através da classe
OK ???

Bye

muriloagu

O meu subrelatorio funciona beleza … só colocar no mesmo diretório …
Bom aqui funcionou assim … tenho poucos com subrelatorios … mas estão blz :lol:

idev4web

paulo.ubuntu

Ja tentei passar um parametro indicando a localizacao do subreport mas nao funcionou.
O curioso que o mesmo relatorio em casa funciona, mas aqui no trabalho nao
Vou seguir sua dica e verificar o parametro que o subreport adiciona
Realmente o problema tem haver com o subreport. ( a localizacao)

paulo.ubuntu

Ok, qualquer progresso, contate-nos

idev4web

O subrelatorio nao estava funcionando devido a versao do acrobata reader.
Atualizei o acrobata (para a versao oito) e o relatorio com subrelatorio passou a funcionar.
Nao funciona com a versao 7 do acrobata reader

Grato a todos pela ajuda.

abaixo segue parte do codigo que usei para gerar pdf com Jasper


// conecta o result set ao jasper
	JRBeanCollectionDataSource jrRs = new JRBeanCollectionDataSource(questoesProva);

	bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),parametros, jrRs);
			
                response.setContentType("application/pdf");
                response.setContentLength(bytes.length);

                servletOutputStream.write(bytes, 0, bytes.length);
                servletOutputStream.flush();
                servletOutputStream.close();
			
} catch (JRException e) {
                // display stack trace in the browser
	StringWriter stringWriter = new StringWriter();
	PrintWriter printWriter = new PrintWriter(stringWriter);
	e.printStackTrace(printWriter);
	response.setContentType("text/plain");
	response.getOutputStream().print(stringWriter.toString());
			
} catch (SQLException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}
G

boa amigo, nao sabia dessa incompatibilidade de versões com sub-relatorios e o acrobat

vlws

Criado 28 de abril de 2008
Ultima resposta 29 de abr. de 2008
Respostas 6
Participantes 4