Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Henrique Zanini

FPDF - Imagem com Texto

Recommended Posts

Não estou conseguindo inserir uma imagem no meio do texto, ela fica por trás do texto.

 

Como faço para que ela fique em baixo do texto, e o próximo só inicie após terminar a imagem?

 

dessa forma:

 

Texto 1

Imagem

 

texto 2

 

:s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ou você usa MultiCell() ou escreve o texto, insere uma nova linha com Ln() e insere a imagem logo em seguida.

 

Mas eu fiquei curioso como você fez essa "marca d'água acidental" ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É por que eu estou gerando um orçamento, e neste orçamento deve ir uma imagem (organograma) por isso dessa "marca d'água acidental" hehe.... Quero que ela fique em baixo da descrição do serviço (o organograma definirá a estrutura do serviço). Entendeu?

 

escreve o texto, insere uma nova linha com Ln() e insere a imagem logo em seguida.

 

tentei fazer dessa forma, continua igual.

 

Meu código:

$pdf->Ln(10)
$pdf->Image($nome_imagem, '0','0',333.75);

 

Dessa forma, a imagem aparece no topo da página por cima de todos os outros textos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora que mostrou como fez posso te ajudar melhor.

 

Não te culpo pelo problema pois o que o causa é a coisa mais irritante na criação programática de PDF: Coordenadas de Posicionamento.

 

Se você olhar o manual da FPDF, o Capítulo sobre Imagens mostra que todos os argumentos de FPDF::image() exceto o primeiro são opcionais.

 

Quando você os define você força a biblioteca a trabalhar do jeito que você quer. Agora se você os omite ou os anula (atribuindo NULL) a biblioteca toma algumas decisões por você.

 

O seu erro aqui foi ter forçado a imagem a se posicionar no ponto 0;0 da Página. Se você omitisse o segundo e terceiro argumentos (e se nada mais estivesse interferindo) faria com que a imagem se posicionasse guiando-se pelas coordenadas atuais, possivelmente as mesmas coordenadas do texto.

 

Outro possível problema da sua implementação. Você precisa MESMO definir a largura da imagem (terceiro argumento)?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi, muito obrigado Bruno, consegui fazer com o Null nos dois primeiros e tirei a largura e altura:

 

$pdf->Cell(0,2, $pdf->Image($caminho_imagem, null, null));		  

Só uma dúvida, a imagem parece não ficar em 100% de qualidade, fica meio desconfigurada... Por que acontece isso?

 

Obrigado mais uma vez!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Informar NULL e não informar é a mesma coisa, pode omiti-los.

 

Você só os precisaria definir caso ainda estivesse definindo a largura (quarto argumento), por causa do posicionamento dos argumentos.

 

Enfim..

 

No mesmo capítulo do manual citado têm algumas considerações sobre os tipos de imagem suportados bem como algumas particularidades de cada tipo.

 

Primeiro veja se sua imagem não cai em uma ou mais dessas situações.

 

Se não cair, então verifique a resolução, em dpi, da sua imagem. Se for maior que 96dpi é altamente recomendável definir manualmente nos quarto e quinto parâmetros.

 

Isso porque a FPDF vai sim calcular as dimensões automaticamente por você, porém uma coisa não especificada no manual é que antes de fazer tal detecção ela força a imagem a ficar em 96dpi.

 

E isso pode arruinar a qualidade da imagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.