Uso de imagem com ireport problema com o caminho da imagem?

Olá,

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

Alguém poderia me ajudar…

abs

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

Obrigado pelo retorno.

Deixa eu entender uma coisa :

  • eu crio um parametro no relatório por exemplo “nome_imagem” com String

  • e no java eu passo nome_imagem igual “contexto/img/imagem.jpg” …exemplo MAP (nome_imagem,“contexto/img/imagem.jpg”)

  • minha duvida como associo esse parametro que criei no relatório a imagem que está
    no relatório.Não sei se deu pra entender minha duvida ???

se puder me ajudar …

abs

Ao clicar na imagem o parametro pode ser editado na aba de configurações que costuma ficar na direita do iReport :slight_smile:

Olá,

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

se puder me ajudar …agradeço

abs

Bom dia!!

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.

Att.