HTML no TCPDF [RESOLVIDO]

Pessoal, boa tarde!
Tenho o seguinte problema: Tenho um html que é gerado através do campo tipo Editor HTML do scriptcase. Ele salva esse html no banco e o valor deste, é chamado em um blank onde monto um pdf pra poder fazer a impressão de cartas.

O problema é que ao gerar o PDF o HTML que está no campo da minha tabela não aparece na tela.

Estou fazendo da seguinte forma:

$pdf->writeHTML(utf8_encode([conteudo]), true, 0, true, 0);

Versão do Scriptcase: 8.1.067

Obrigado!

Thyago

Para conteúdo HTML eu prefiro utilizar a writeHTMLCell

exemplo:
$pdf->writeHTMLCell($w, $h, $x, $y, $html, ‘LRTB’, 1, 0, true, ‘L’, true);

Função:
$pdf->writeHTMLCell($w=0, $h=0, $x=0, $y=0, $html, $border=0, $ln=1, $fill=0, $reseth=false, $align=’’, $autopadding=true);

Olá Ronyan, tentei essa possibilidade mas não deu certo. Parece que cria o conteúdo em branco pq do jeito que fiz, criou até mais 2 paginas acho que pela altura que defini

$pdf->writeHTMLCell(100, 500, 40, 50, utf8_encode([glo_texto]), 0, 1, 0, false, '', true);

Um detalhe…
Se eu colocar:

$pdf->writeHTMLCell(100, 500, 40, 50, utf8_encode('<h1>Atestado de Saúde</h1><p> </p>'), 0, 1, 0, false, '', true);

ou

$pdf->writeHTMLCell(100, 500, 40, 50, '<h1>Atestado de Sa&uacute;de</h1><p> </p>', 0, 1, 0, false, '', true);

Funciona. Se eu colocar uma variável que vem do banco não!

Não sei qual o o html que vem do banco Thyago, mas saliento que o writeHTMLCell não tem poder de gerar pdf em 100% de suas tags.

http://www.radmin.com/tcpdf/doc/com-tecnick-tcpdf/TCPDF.html#methodwriteHTMLCell

O HTML seria esse Haroldo:

<h1 style="text-align: center;"><span style="font-family: \'andale mono\', times; font-size: x-large;">Atestado de Sa&uacute;de</span></h1>
<h2 style="text-align: justify;"> </h2>
<h2 style="text-align: justify;"> </h2>
<h2 style="text-align: justify;"><span style="font-family: \'andale mono\', times; font-size: small;">          Atesto para fins que, ISABELLA, goza, no momento de boa sa&uacute;de f&iacute;sica e mental, n&atilde;o sendo portador de mol&eacute;stia infecto-contagiosa, constatat&aacute;vel ao Exame Cl&iacute;nico, estando apto para exercer atividades compat&iacute;veis com a idade.</span></h2>
<p> </p>
<p style="text-align: right;"><span style="font-family: \'andale mono\', times; font-size: small;">BRASILIA,13 de Julho de 2017.</span></p>
<p style="text-align: right;"> </p>
<p style="text-align: right;"><span style="font-family: \'andale mono\', times; font-size: small;">____________________________________________________</span></p>
<p style="text-align: right;"><span style="font-family: \'andale mono\', times; font-size: small;">nomemedico<br />CRM-DF</span></p>
<p> </p>

Tentei desta forma agora:

$pdf->writeHTMLCell(100, 50, 40, 50, utf8_decode($v_texto), 0, 1, 0, false, '', true);

Porém, agora ele vem assim:

Atestado de Sa?de
?
?
? ? ? ? ? Atesto para fins que, nomepaciente, goza, no momento de boa sa?de f?sica e mental,
n?o sendo portador de mol?stia infecto-contagiosa, constatat?vel ao Exame Cl?nico, estando
apto para exercer atividades compat?veis com a idade.
?
nomecidade,dataatendimento.
?


nomemedico
CRM-DF
?

experimenta remover utf8_decode.

Aí fica em branco

https://stackoverflow.com/questions/4141865/tcpdf-html-with-special-characters-displays-empty-pdf-file

O mais próximo que consegui chegar foi isso aqui:

Atestado de Saúde
?
?
? ? ? ? ? Atesto para fins que, ISABELLA, goza, no momento de boa saúde física e mental, não sendo portador de moléstia infecto-contagiosa,
constatatável ao Exame Clínico, estando apto para exercer atividades compatíveis com a idade.
?
BRASILIA,13 de Julho de 2017.
?


nomemedico
CRM-DF
?

Então Thyago, pelo link que te passei, tem a ver com a fonte, com o collate ao instanciar a classe tcpdf.
Incluir font-family no html não adianta, pois o tcpdf vai usar a fonte dele, e vc tem caracteres escapados no html, o que também podem causar problemas, o html tem que ser o mais simples possível para obter algum resultado.

Mesmo deixando o mais simples possível, o sistema ainda gera o texto desta forma:

Atestado de Saúde
?
?
? ? ? ? ? Atesto para fins que, ISABELLA, goza, no momento de boa saúde física e mental, não sendo portador de moléstia infecto-contagiosa,
constatatável ao Exame Clínico, estando apto para exercer atividades compatíveis com a idade.
?
BRASILIA,13 de Julho de 2017.
?


nomemedico
CRM-DF
?

Para resolver por hora, fiz o str_replace. Mas creio que não seja a forma correta até porque precisaria testar com outros tipos de documentos.

Pode fazer um teste?

Jogue dentro de uma variável php o mesmo html, mas não copie, digite palavra por palavra, tag por tag, e use ela no writehtml.

Pode ser que o editor esteja jogando códigos aí, invisíveis que esteja atrapalhando o resultado.

Acabamos de verificar isso agora. É isso mesmo. Ele cria espaços em branco e isso na hora de mostrar no pdf, transforma em “?”

Agora copie o código do banco de dados no notepad++ e mande exibir todos caractere em visualizar/mostra símbolo.

Pode ser que o editor Html esteja alterando esses valores.

Haroldo, ele traz um simbolo escrito CRLF

então antes de salvar no banco faça um replace por
em toda cadeia.

Tentei desta forma:

{texto} = str_replace(“CRLF”, “
”, {texto});

Mas não funcionou

Não rola mesmo: crlf corresponde há \r\n

ou ascii 13 e 10.