estou usando ireport 4.0,windows 7 na minha máquina local
e quando vou arrastar o icone da imagem para meu relatório
em seguida solicitada o caminho da imagem e coloco c:\tmp\imagem.jpg
Na minha máquina local funciona qdo faço deploy no servidor linux
não existe esse diretório c:\tmp e não roda o relatório.
Não estou conseguindo jogar o icone imagem para relatório sem que me solicita
o caminho da imagem , pois queria via java passar o caminho da imagem do servidor
por exemplo contexto/img/imagem.jpg
O caminho da imagem é um parâmetro, quando o relatório for para produção você deve colocar o local da imagem no servidor onde está a aplicação, o relatório não compila junto com a imagem
o que estou fazendo para colocar uma imagem no meu relatório:
na paleta cliquei no icone Image e arrastei até Title do meu report
ao colocar no report o icone Image me aparece Select image file e me mostra
alguns arquivos jpg que estão na pasta do ireport onde apresenta os seguintes arquivos
cherry.jpg,coffee.jpg,wood.jpg. Como não quero nenhum imagem da pasta c:\ o que fiz
cliquei no botão Cancelar.
- do lado direito aparece Propriedades dessa imagem que é :
- left
- Top
- Width
- Height
- Forecolor
- Backcolor
- Opaque
- Style
- key
- Position Type
- Strech type
- Print Repeated values
- Remove Line when Blank
- Print in First whole band
- Print when details overflows
- Print when group changes
- properties expressions
- graphics properties
- pen
- fill
- image expression
- Expression Class ---java.lang.String
java.io.File
java.net.URL
java.io.inputStream
java.awt.image
net.sf.jasperreports.engine
- scale image
- etc..etc..etc
Minha duvida qual propriedade tenho que alterar para quando via java for passar
o caminho que está no servidor de aplicação por exemplo contexto/img/exemplo.jpg
passar para essa propriedade da Image…como passar essa é minha duvida ???
é isso que devo fazer (sim ou não ) conforme abaixo :???
tenho que criar uma variável de parametro (que tipo String???) e setar essa variavel na propriedade Image Expression
e alterar a propriedade Expression Classpara que java.io.inputStream
A Expression class da sua imagem deve ser “java.io.File” e a Image Expression esta setado da seguinte maneira:
new File($P{SUBREPORT_DIR},
"diretorio_da_imagem/nome_da_imagem.jpg" )
onde o parametro $P{SUBREPORT_DIR} contem o caminho onde os relatorios são gravados no servidor, uso como padrão para todos os relatórios, completando apenas com o diretorio de cada relatório e o nome do arquivo.