Ir para conteúdo

Arquivado

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

fabiodaros

Carregar arquivo .tpl em Mpdf

Recommended Posts

Pessoal , queria carregar um arquivo tpl direto para o Mpdf, mas ele não leva as varíaveis que vem do MySql nem do forech.

 

Alguem poderia me ajudar.

 $msg  = $smarty->fetch(Rotas::get_SiteRaiz().'/view/carrinho.tpl');
        
        $mpdf = new \Mpdf\Mpdf();
        //$mpdf->SetDocTemplate($msg);
        $mpdf->allow_charset_conversion= true;
        $mpdf->charset_in = 'UTF-8';
        $mpdf->WriteHTML($msg,0);
        $mpdf->Output();

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por FamiluMoura
      Tenho um projeto em MVC aonde instalei a biblioteca mPdf, gerar o arquivo pdf normalmente e abre no Edge, porem qdo vou abrir no Adobe ele diz que o arquivo esta corrompido ou não tem suporte para este tipo de arquivo. O erro aconte ate mesmo com o exemplo da Biblioteca do mpdf
      o código abaixo e genérico do CriarPdf.php

       
      public function pdf(array $Dados) { $this->Dados = $Dados; try { $mpdf = new \Mpdf\Mpdf([ 'format' => [150, 130], 'mode' => 'c', 'margin_left' => 5, 'margin_right' => 5, 'margin_top' => 26, 'margin_bottom' => 15, 'margin_header' => 5, 'margin_footer' => 5, ]); $html = '<!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <style> @page {size: auto;odd-header-name: html_myHeader1;odd-footer-name: html_myFooter1;} .size-10{font-size: 10px;} .size-16{font-size: 25px;color:#FF0000;} .negrito{font-weight: bold;} .espaco{margin: 20px;} .linha{width: 100%;border: 1px solid #000000;} .col-2 {float: left;width: 8.333333%;} .col-3 {float: left;width: 25%;} .col-4{float: left;width: 33%;} .col-6 {float: left;width: 50%;} .col-8{float: left;width: 66%;} .text-center {text-align: center !important;} .text-right {text-align: right !important;} .imgTamanho{width: 50%;} a{padding: 5px;text-decoration: none;} td{padding: 5px;} .border-bottom{border-bottom: 1px solid #000000;} </style> </head> <body> <htmlpageheader name="myHTMLHeader1"> <table width="100%" style="border-bottom: 1px solid #000000; vertical-align: bottom; font-family: serif; font-size: 9pt; color: #000088;"> <tr> <td width="100%">"Logo da Empresa no Cabeçalho"</td> </tr> </table> </htmlpageheader> <htmlpagefooter name="myHTMLFooter1"> <table width="100%" style="border-top: 1px solid #000000; vertical-align: top; font-family: sans; font-size: 8pt;"> <tr> <td width="100%" align="center"><span style="font-size:12pt">' . $this->Dados['imagem'] . '</span></td> </tr> </table> </htmlpagefooter> <!-- set the headers/footers - they will occur from here on in the document --> <!--mpdf <sethtmlpageheader name="myHTMLHeader1" page="O" value="on" show-this-page="1" /> <sethtmlpageheader name="myHTMLHeader1Even" page="E" value="on" /> <sethtmlpagefooter name="myHTMLFooter1" page="O" value="on" show-this-page="1" /> <sethtmlpagefooter name="myHTMLFooter1" page="E" value="on" /> mpdf--> <table width="600px"> <tr> <td class="text-center" >' . $this->Dados['corpo'] . '</td> //Aqui uma tabela que envio para criar o pdf </tr> </table> </body> </html> $mpdf->WriteHTML($html); $mpdf->Output(); } catch (\Mpdf\MpdfException $e) { // Note: safer fully qualified exception name used for catch // Process the exception, log, print etc. echo $e->getMessage(); }  
    • Por Carcleo
      Estou tentando rotacionar um texto no PDF com mPDF mas não estou conseguindo.
      $css = ' <style> ul { } ul li { float: left; list-style: none; /*necessáro width no campo */ } ul li span.vertical { display: block; //transform: rotate(270deg); /*necessáro display: block*/ text-rotate : 270; } </style>'; $html = ' <ul> <li style="width: 150px"><span class="vertical">Elefante</span></li> <li style="width: 150px"><span>Não</span></li> <li style="width: 150px"><span>Come</span></li> <li style="width: 150px"><span class="vertical">Bananada</span></li> </ul>'; require_once "../vendor/autoload.php"; $pdf = new \Mpdf\Mpdf(['debug' => true]); $pdf->AddPage(); $pdf->charset_in = "UTF-8"; $pdf->SetFont('Arial','B',16); $pdf->WriteHTML( $css, 1 ); $pdf->WriteHTML( $html ); $pdf->Output(); Obs.: O restante do estilo funciona normal.
       
      O problema é apenas no PDF. No navegador, os spans giram normalmente.
    • Por Fabio Jonas
      Pessoal, criei um relatório no php + html e gero ele pelo mpdf, ate ai tudo certo inclusive ele gera o índice, mas ele gera da seguinte maneira:
       
      1-Item 5
      2-item 6
      3-item 12
      O que preciso que ele insira os pontinhos apos a descrição do item como esse exemplo:
       
      1-Item............................................ 5
      2-item............................................ 6
      3-item.......................................... 12
       
      Consultei a documentação e pesquisei na internet e não encontrei nada que possa me ajudar, alguém chegou a fazer índice e conseguiu inserir esses pontinhos, caso tenha conseguido fazer em fPDf também me ajudaria pois como o Mpdf é baseado no fPdf, eu daria um jeito de adaptar.
       
      Agradeço a ajuda
       
    • Por ammazzo
      Olá galera, 
       
      Eu tenho uma tabela com 2000 registros e gero um relatório através desta tabela e left join de mais outras 3 que complementam a informação da mesma. 
       
      Gostaria de saber se é razoável o tempo de 3m20s para a geração da mesma em um sistema. Lembrando que tenho índices criados e a query leva 0.034 segundos executada no banco de dados. 
       
      Não sei se o fato do mpdf ter sua estrutura baseada em HTML e css afeta o tempo de montagem da mesma (com o foreach essa estrutura aumenta). 
       
      Se alguém já utiliza mpdf e puder me dar uma dica, ou se é normal esse tempo tendo em vista que melhores soluções para php ainda não existam ou se outras bibliotecas reduzem o tempo, eu agradeço. 
       
      Um abraço.
       
    • Por Vitor G. Delgallo
      Bom dia,

      Estou desenvolvendo um projeto que necessita da implementação do mPDF para gerar relatórios, no entanto, não consegui de nenhuma maneira, implementa-lo em meu projeto.
      Gostaria de implementar a seguinte versão do mPDF por ser a mais recente:
       - https://github.com/mpdf/mpdf

      Se alguém pudesse me ajudar eu agradeceria muito!! (Gostaria de implementar-lo manualmente no meu projeto, não via composer, pois nunca utilizei composer e também não sei como ativar os comandos via CMD para a instalação).

      Segue a lista de como tentei implementar o mPDF:
       - Copiei os arquivos do mPDF para a pasta "application/third_party/mpdf" do Codeigniter;
       - Criei uma library dentro da pasta "application/libraries" do Codeigniter com o nome de "m_pdf_lib.php";
       - Dentro dessa biblioteca, coloquei o seguinte código:
      <?php if (!defined('BASEPATH')) exit('No direct script access allowed'); include_once APPPATH . '/third_party/mpdf/src/Mpdf.php'; class m_pdf_lib { private $paramsLibrary = '"en-GB-x","A4","","",10,10,10,10,6,3'; private $pdfLibrary; public function __construct() { } public function getParamsLibrary(){ return $this->paramsLibrary; } public function setParamsLibrary($newParamsLibrary){ $this->paramsLibrary = $newParamsLibrary; return true; } public function getPdfLibrary(){ return $this->pdfLibrary; } public function setPdfLibrary(){ $this->pdfLibrary = new \Mpdf\Mpdf($this->paramsLibrary); return true; } }  
       - E então, dentro da minha controller Default de teste, eu coloquei o seguinte código:
      <?php defined('BASEPATH') OR exit('No direct script access allowed'); class Teste extends CI_Controller { public function __construct() { parent::__construct(); $this->load->library('m_pdf_lib'); } public function testePDF(){ $this->m_pdf_lib->setPdfLibrary(); $mpdf = $this->m_pdf_lib->getPdfLibrary(); $html = '<br><br><br>teste<br><br><br>'; $file = "Relatorio.pdf"; $mpdf->WriteHTML($html); $mpdf->Output($file, 'D'); } }
      PS: Já tentei ver vídeos e artigos tutoriais sobre isso, mas todos, apenas ensinam à implementar as versões antigas do mesmo (que também não funcionam no meu projeto), ou ensinam a versão mais recente via composer, algo com o qual nunca tive contato e não sei como usar.

      Desculpem qualquer incomodo e obrigado desde já!!!
×

Informação importante

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