Observe as configurações:
1- Formato da imagem: JPG ou GIF, de preferência JPG para uma resolução melhor.
2- Tenha a imagem já no tamanho final a ser incluído no Ireport para evitar que ocupe espaço desnecessário no JRXML.
3- A imagem será transformada em um hash BASE 64, existem diversos sites que fazem o encode de uma imagem para Base 64, abaixo está a url utilizada neste manual:
4- Informe o caminho da imagem a ser convertida e após a conversão da imagem, clique no botão "Show Code":
6- Copie o hash Base 64 gerado a partir de /9 até o seu final.
7- No modelo Ireport crie uma variável com as definições abaixo:
• Nome da variável
• Reset Type = Page
• Initial Value Expression = “CONTEUDO BASE 64 GERADO” → Entre aspas duplas
8- Adicione o componente de imagem ao Ireport, indicando altura e largura conforme sua imagem.
• Expression Class: java.io.InputStream
• Image Expression: new ByteArrayInputStream(Base64.decodeBase64($V{NOMEVARIAVEL}.getBytes()))
• Scale Image: Retain Shape
Observação: Neste exemplo estamos utilizando uma variável, porém o hash poderia estar contido em uma tabela do banco de dados, tornando a imagem dinâmica, como logo da empresa (multiempresa), etc.
* Existem diversas maneiras e aplicativos que podemos utilizar para redimensionar ou visualizar as dimensões da imagem, uma maneira fácil é utilizando o próprio Paint.
9- No modo XML do Ireport, inclua o import abaixo logo após as tags <property e antes de qualquer tag
<parameter... ou <querystring... :
<import value="org.apache.commons.codec.binary.Base64"/>
10- Volte para o modo Designer, salve e pronto. Só subir para Relatórios Formatados e utilizar.
* Para utilizar imagens estáticas grandes, a solução de subir para o servidor ainda é a mais indicada.
Comentários
1 comentário
Vale ressaltar, a expressão da variável deve ser String
Por favor, entre para comentar.