mPDF background-image não funciona - relatorio

Boa Tarde

Estou tentando gerar um pdf com o mPDF (versão6.0) a partir de um HTML e esta tudo funcionando, com excessão do ‘background-image’ do css, por alguma razão o mPDF não coloca a imagem, tentei colocar o caminho completo, relativo, testei em divs, tabelas e outros elementos e nada…

testei o html printando o msm com “echo” e o msm exibiu as imagens perfeitamente, testei com a versão 5.7 do mPDF, mas tb não adiantou…

segue o fonte (testei o exemplo a baixo)

PHP:

$teste = "
        <table id='test'>
            <tr><td id='test'> adsjkbfkasbçlkjf açlkhfçl jahsçljfaskçjsklasjhkjjas lkg  dj aslk jjd klajs dçalkjks bdlk absfkj blksabfka jbklfblskjabf kljsbdf b</td></tr>
        </table> "

CSS:

#test{
    font-family: 'Century Gothic';  
    color: #3864B2; 
    background-image: url('cabecalho_relatorios_1.png'); 
    height: 160px;  
    width: 100%;
}

Aguem já passou por isso? alguem pode me ajudar???

Eu não me lembro de cabeça, mas, quando se usa imagem tem que ser o caminho URL completo

Exemplo:

http://www.teste.com/image1.jpg

Mais ou menos assim, eu também não lembro se assim com CSS vai funciona mesmo colocando o caminho URL completo, mas, faça o teste:

#test{
    font-family: 'Century Gothic';  
    color: #3864B2; 
    background-image: url('http://www.teste.com/cabecalho_relatorios_1.png'); 
    height: 160px;  
    width: 100%;
}

aonde http://www.teste.com/ o caminho do seu site, fica como lição de casa!

Eu faço assim particularmente, utilizo tudo in-line que eu não tenho problema e pego o valor da URL completa e passo para a imagem.

Depois me conta!

tentei colocar o caminho completo e tb tentei colocar a conficuração no atributo “style” e não funcionou pra gerar o pdf e pra exibir no html funcionou normalmente.

Acredito eu que a parte CSS ele não agrega essa funcionalidade, vou dar uma olhada e já te falo!

Funciona sim, olha só:

<?php

	require_once __DIR__ . '/vendor/autoload.php';	
	$mpdf = new mPDF();

	$html = '<style> #foto{
		font-family: \'Century Gothic\';  
		color: #3864B2; 
		background: url(\'http://localhost/image/2.jpg\') no-repeat; 
		height: 100%;  
		width: 100%;
	}</style>';
	$html .= '<h1>Hello world!</h1>';
	$html .= '<img src="http://localhost/image/2.jpg" border="0"/ >';
	$html .= '<div id="foto"></div>';
	
	$mpdf->WriteHTML($html);
	$mpdf->Output();

A tag Style tem que está dentro do html igual eu coloquei logo na primeira linha do $html, mas, o caminho tem que ser URL completa.

Observação: eu mudei um pouco o style dá uma olhada!

qual versão do mPDF vc tentou?

Eu testei na versão 6.1 como descrito link: https://packagist.org/packages/mpdf/mpdf.

E funcionou certinho.

no site oficial só vai até a 6.

talvez seja por causa da versão.

Site oficial, mas, eles disponibilizam no packagist pelo github a versão mais atual e instável, é só baixar.

https://packagist.org/packages/mpdf/mpdf

Ta ai os dois links!

Talvez você esteja fazendo algo de errado!

Cara ao exibir o valor da variável que contem o código html ele exibe as imagens perfeitamente, só não exibe quando gero o pdf. Tentei com seu código pra testar (troquei a url das imagens claro) e não funcionou no mPDF6.0

Tentei usar o mPDF 6.1 e deu o seguinte erro ao executar o comando require_once ('mpdf61/mpdf.php');

Warning: require_once(DIR/…/MpdfException.php) [function.require-once]: failed to open stream: No such file or directory in C:\ssssss\wwwroot\ccccc\Relatorio_de_kkkkkkTeste\mpdf61\classes\indic.php on line 3
Fatal error: require_once() [function.require]: Failed opening required DIR/…/MpdfException.php’ (include_path=’.;C:\php5\pear’) in C:\ssssss\wwwroot\ccccc\Relatorio_de_kkkkkkTeste\mpdf61\classes\indic.php on line 3

O que é muito estranho, pois o caminho esta correto, esta no mesmo caminho do 6.0 que inclui normalmente, e o caminho do arquivo que ele reclamou também está lá, não sou desenvolvedor PHP, esse projeto caiu no meu colo, não sabia nada de PHP até 1 semana atras, seria pelo comando “DIR” que vc usou?

Tentei usar ele aqui e o erro persistiu, mesmo no seu exemplo de código.

Sabe me dizer o que pode ser?

Esqueci de mencionar algo importante, na tag img a imagem aparece com ou sem o caminho completo, e msm copiando e colando o valor do atributo src da tag e colando no css “background: url(’[colado da tag img]’) no-repeat;” a imagem não aparece!

Vou postar as imagens.



Primeiramente seu código está errado! Preste atenção no meu código na hora de executar

<?php

require_once __DIR__ . '/vendor/autoload.php';	

$mpdf = new mPDF();

$html = '<style> #foto{
	font-family: \'Century Gothic\';  
	color: #3864B2; 
	background: url(\'http://localhost/image/2.jpg\') no-repeat; 
	height: 100%;  
	width: 100%;
}</style>';
$html .= '<h1>Hello world!</h1>';
$html .= '<img src="http://localhost/image/2.jpg" border="0"/ >';
$html .= '<div id="foto"></div>';

$mpdf->WriteHTML($html);
$mpdf->Output();

Tudo é colocado dentro de apenas um WriteHTML($html) e a variavel $html tem todo o conjunto de tag imagens e texto.

O erro que aparece na mensagem anterior é que você não está passando o caminho correto da biblioteca em PHP mPDF e isso está gerando vários erros.

Desculpe a demora, descobri o pq nem meu codigo nem o seu funcionava, é a versão do php, no servidor a versão é muito antiga, subi um servidor local (xampp) na versão 5.6 e os 2 funcionaram.

infelizmente vou ter q trocar de ferramenta pra fazer o pdf, pois não querem atualizar o servidor, q se encontra na versão 4.2-2

os requisitos minimos para o mPDF é php 5.5

é muito preocupante você rodar um PHP 4.2.2, além de ser antigo (claro) é cheio de problemas! Cuidado.