Autor Tópico: TCPDF não redenriza html  (Lida 1179 vezes)

paulomarcelo

  • Expert
  • *****
  • Mensagens: 638
    • Email
TCPDF não redenriza html
« Online: Abril 21, 2015, 09:03:54 pm »
Bom noite amigos, alguém poderia me dizer porque o html abaixo não renderiza no pdf, testei com htmls com css(exemplo do proprio TCPDF) e funcionou e este abaixo não funciona basta copiar o código abaixo para uma blank para testar:

Código: [Selecionar]
sc_include_lib ("tcpdf");

// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 061');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');

// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 061', PDF_HEADER_STRING);

// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);



// ---------------------------------------------------------

// set font
$pdf->SetFont('helvetica', '', 10);

// add a page
$pdf->AddPage();

// HTML 1
$html = <<<EOF
<p style="text-align: center;"><span style="font-size: small;"><strong>SUBESTABELECIMENTO</strong></span></p>
<p style="text-align: center;"><span style="font-size: small;"> </span></p>
<p style="text-align: justify;"><span>_PROCNOME1, _PROCNAC1, _PROCESTCIVIL1, _PROCPROF1, portador(a) da carteira de identidade nº _PROCIDT1, expedida pelo _PROCOIDTEXP1, em <span>_PROCIDTEXP1, inscrito(a) no CPF/MF sob o nº  <span>_PROCCPF1 e <span>_PROCNOME2, _PROCNAC2, _PROCESTCIVIL2, _PROCPROF2, portador(a) da carteira de identidade nº _PROCIDT2, expedida pelo </span><span>_PROCOIDTEXP2, em </span><span>_PROCIDTEXP2, inscrito(a) no CPF/MF sob o nº  _PROCCPF2 substabelecem, com reserva de poderes, os poderes que lhe foram conferidos por _SPEOUTORNOME1, com sede na cidade de <span>_SPEOUTORCIDADE1, Estado de <span>_SPEOUTORESTADO1, <span>_SPEOUTORENDERECO1, inscrita no CNPJ sob o nº <span>_SPEOUTORGCNPJ1, conforme procuração lavrada no <span>_SPEOUTORGRGI1 da cidade Rio de Janeiro, no Livro <span>_SPEOUTORGLIVRO1, às fls. <span>_SPEOUTORGFOLHA1, à <span>_OUTORGNOME1, <span>_OUTORGNAC1</span>, <span>_OUTORGESTCIVIL1</span>, <span>_OUTORGPROF1</span>, portador(a) da carteira de identidade nº <span>_OUTORGIDT1</span>, expedida pelo <span>_OUTORGIDTORG1</span>, em <span>_OUTORGIDTDTAEXP1</span></span><span>, inscrito(a) no CPF/MF sob o nº <span>_OUTORGCPF1</span>, com endereço comercial na <span>_</span><span>OUTORG</span><span>END1, para representar a Outrogante junto a <strong>LIGHT </strong>- Serviço de Eletricidade S/A, para tratar do pedido de fornecimento provisório e definitivo <span>de energia</span> elétrica, que servirá ao empreendimento denominado _OBRANOME, localizado na _OBRAEND, devidamente descrito e caracterizado na matricula nº _OBRAMATRIC1 do _OBRARGI1 Ofício de Registro de Imóveis da cidade _OBRACIDADE1 /RJ. O presente instrumento terá validade de 180 (cento e oitenta) dias, sendo <span style="text-decoration: underline;">vedado</span> o substabelecimento.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p style="text-align: justify;">                                                                                              Rio de Janeiro, _DATAATUAL</p>
<p style="text-align: justify;"> </p>
<p style="text-align: center;">______________________________________________</p>
<p style="text-align: center;"><span style="text-align: justify;">_PROCNOME1</span></p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"> </p>
<p style="text-align: center;"> ______________________________________________</p>
<p style="text-align: center;">_PROCNOME2</p>
<p style="text-align: justify;"> </p>
EOF;


// HTML 2 este codigo abaixo funciona se descomentar
/*
$html = <<<EOF
<table style="width:100%">
  <tr>
    <td>Jill</td>
    <td>Smith</td>
    <td>50</td>
  </tr>
  <tr>
    <td>Eve</td>
    <td>Jackson</td>
    <td>94</td>
  </tr>
</table>
EOF;
*/
// output the HTML content
$pdf->writeHTML($html, true, false, true, false, '');


//$pdf->SetFont('Times','B',16);
//$pdf->Cell(40,10,'Saida de texto!');
$pdf->Output();

//============================================================+
// END OF FILE
//============================================================+

Marcelo Baptista

  • Intermediário
  • ***
  • Mensagens: 104
Re:TCPDF não redenriza html
« Responder #1 Online: Abril 22, 2015, 08:29:55 am »
Bom dia, não sei porque mas na abertura e fechamento deste código <<<EOF ... EOF simplesmente não funciona, tente assim:


sc_include_lib ('TCPDF');

// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, false, 'UTF-8', false);

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 061');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');

// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 061', PDF_HEADER_STRING);

// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);



// ---------------------------------------------------------

// set font
$pdf->SetFont('Helvetica', '', 10);

// add a page
$pdf->AddPage();

// HTML 1
$html = '
<p style="text-align: center;"><span style="font-size: small;"><strong>SUBESTABELECIMENTO</strong></span></p>
<p style="text-align: center;"><span style="font-size: small;"> </span></p>
<p style="text-align: justify;"><span>_PROCNOME1, _PROCNAC1, _PROCESTCIVIL1, _PROCPROF1, portador(a) da carteira de identidade nº _PROCIDT1, expedida pelo _PROCOIDTEXP1, em <span>_PROCIDTEXP1, inscrito(a) no CPF/MF sob o nº  <span>_PROCCPF1 e <span>_PROCNOME2, _PROCNAC2, _PROCESTCIVIL2, _PROCPROF2, portador(a) da carteira de identidade nº _PROCIDT2, expedida pelo </span><span>_PROCOIDTEXP2, em </span><span>_PROCIDTEXP2, inscrito(a) no CPF/MF sob o nº  _PROCCPF2 substabelecem, com reserva de poderes, os poderes que lhe foram conferidos por _SPEOUTORNOME1, com sede na cidade de <span>_SPEOUTORCIDADE1, Estado de <span>_SPEOUTORESTADO1, <span>_SPEOUTORENDERECO1, inscrita no CNPJ sob o nº <span>_SPEOUTORGCNPJ1, conforme procuração lavrada no <span>_SPEOUTORGRGI1 da cidade Rio de Janeiro, no Livro <span>_SPEOUTORGLIVRO1, às fls. <span>_SPEOUTORGFOLHA1, à <span>_OUTORGNOME1, <span>_OUTORGNAC1</span>, <span>_OUTORGESTCIVIL1</span>, <span>_OUTORGPROF1</span>, portador(a) da carteira de identidade nº <span>_OUTORGIDT1</span>, expedida pelo <span>_OUTORGIDTORG1</span>, em <span>_OUTORGIDTDTAEXP1</span></span><span>, inscrito(a) no CPF/MF sob o nº <span>_OUTORGCPF1</span>, com endereço comercial na <span>_</span><span>OUTORG</span><span>END1, para representar a Outrogante junto a <strong>LIGHT </strong>- Serviço de Eletricidade S/A, para tratar do pedido de fornecimento provisório e definitivo <span>de energia</span> elétrica, que servirá ao empreendimento denominado _OBRANOME, localizado na _OBRAEND, devidamente descrito e caracterizado na matricula nº _OBRAMATRIC1 do _OBRARGI1 Ofício de Registro de Imóveis da cidade _OBRACIDADE1 /RJ. O presente instrumento terá validade de 180 (cento e oitenta) dias, sendo <span style="text-decoration: underline;">vedado</span> o substabelecimento.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p style="text-align: justify;">                                                                                              Rio de Janeiro, _DATAATUAL</p>
<p style="text-align: justify;"> </p>
<p style="text-align: center;">______________________________________________</p>
<p style="text-align: center;"><span style="text-align: justify;">_PROCNOME1</span></p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"> </p>
<p style="text-align: center;"> ______________________________________________</p>
<p style="text-align: center;">_PROCNOME2</p>
<p style="text-align: justify;"> </p>
   ';




// output the HTML content
$pdf->writeHTML($html, true, false, true, false, '');


//$pdf->SetFont('Times','B',16);
//$pdf->Cell(40,10,'Saida de texto!');
$pdf->Output();

//============================================================+
// END OF FILE
//============================================================+

paulomarcelo

  • Expert
  • *****
  • Mensagens: 638
    • Email
Re:TCPDF não redenriza html
« Responder #2 Online: Abril 22, 2015, 09:18:37 am »
Muito obrigado Marcelo. Deu certo ele ficou só dando erro de charset, mas ai mudei esta linha abaixo e o charset na configuração da aplicação

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, false, 'ISO-8859-1', false);

Scaritocut

  • Novato
  • *
  • Mensagens: 2
    • gclub
Re:TCPDF não redenriza html
« Responder #3 Online: Agosto 06, 2015, 02:29:35 am »
I am a person who likes to learn a lot.