Apresentar campo do tipo imagem HTML de acordo com parâmetros

Boa tarde caros colegas,

Estou com um problema ao tentar gerar uma fatura, cada fatura terá um número de banco e para cada banco terá um campo do tipo imagem html que seria os boletos, ex: campo_imagem_bancodobrasil numero 001 e campo_imagem_itau numero 184, com essas informações preciso apresentar no pdf a imagem do boleto de acordo com o número do banco da fatura. Teria como apresentar as imagens de acordo com alguns parâmetros no report PDF? Tentei algo do tipo:

Evento onScriptInit //evento que aceita as macros utilizadas

if({numerobanco} == 001){

    sc_field_display({imgboletobb}, on);
sc_image(bg_boleto_bb_grande.jpg);

}elseif({numerobanco} == 184){

sc_field_display({imgboletoitau}, on);
sc_image(bg_boleto_itau_grande.jpg);

}

OBS: Esse campo de banco viria de uma subselect, não consegui chamar nos eventos, somente dentro do SQL do subselect, já tentei atribuir uma variável ao campo de numerobanco e tentar utilizar mas também não deu certo, então criei um novo campo numerobanco fora do subselect e fiz Lookup de Consulta.

Desde de já agradeço.

  1. Crie uma biblioteca externa com as imagens:

001.jpg, 237.jpg, 341.jpg

  1. crie um metodo onde vc passa o número do banco e o mesmo printa a imagem referente

banco_img(nrobco=‘001’)
{
$_img=sc_url_library(‘prj’ ,’ img’ ,$nrobco.’.jpg’ );
$this->Pdf->image(x,y,$_img); // onde x,y são as coordenadas
}

  1. chame o método dentro do evento código ou crie um método codigo e dentro do evento código chame o método código e trabalhe livremente dentro desse método.

Veja uma demonstração em vídeo trabalhando com report pdf:

http://infinitusweb.net.br/form_recibos/

https://youtu.be/aKpkZmsKwis

Muito Obrigada Haroldo, excelente vídeo.

Conseguiu fazer o que precisa?

Olá Haroldo boa tarde,

Sim conseguimos de outra maneira digamos “genérica”, porque decidimos continuar a utilizar o código gerado pelo scriptcase. Então para cada banco inclui uma logo em um campo do tipo imagem html campos logobb e logoitau, utilizei eles dentro do Layout PDF, e manipulei a posição dos campos logobb e logoitau no onScriptInit utilizando um switch, abaixo o exemplo:

switch ({numbanco}) {
case ‘001’: //BB
[logoBBx] = 5;
[logoSANx] = 500;
break;
case ‘033’: //SANTANDER
[logoBBx] = 500;
[logoSANx] = 5;
break;
}

Onde as variáveis globais [logoBBx] e [logoSANx] são utilizadas dentro da Pos X do Layout PDF - Interface dos campos de logobb/logoitau, e de acordo com o número do campo numbanco - número do banco, será apresentada a logo, caso o número do banco não seja o que eu quero a logo não é apresentada dentro da página.

OBS: A posição Y é incluida normalmente, incluindo um valor de acordo com o que necessita.

Att

Que ótimo.

Obrigado pelo retorno e a explicação detalhada, isso é raro aqui.

As vezes batalhamos numa ajuda e depois que a disponibilizamos o membro simplesmente desaparece e ficamos sem saber se nosso trabalho surgiu efeito ou não.