Transformar de HTML a PDF con DOMPDF

Author: danielgara - Date: 2013-01-14 23:38:17
 
¿Que es DOMPDF?
Es un módulo para php que nos permite transformar código HTML a PDF

¿Para que se usa?
Transformar información a PDF puede ser muy útil a la hora de desarrollar un software que por ejemplo genere cotizaciones, reportes, cupones o cualquier tipo de información que se desee ver o enviar en PDF.

¿Como utilizar DOMPDF en nuestros proyectos en G?
  1. Descargamos la última versión de DOMPDF del siguiente enlace: https://github.com/dompdf/dompdf/downloads (en este momento la última versión es dompdf 0.6 beta 3 ZIP).

  2. Creamos la carpeta m_dompdf dentro de la ruta work/modules/

  3. Descomprimimos el zip de dompdf y movemos los archivos del siguiente modo:
    • dompdf/include/* a la ruta work/modules/m_dompdf/include/*
    • dompdf/lib/* a la ruta work/modules/m_dompdf/lib/*
    • dompdf/dompdf.php a la ruta work/modules/m_dompdf/dompdf.php
    • dompdf/dompdf_config.custom.inc.php a la ruta work/modules/m_dompdf/dompdf_config.custom.inc.php
    • dompdf/dompdf_config.inc.php a la ruta work/modules/m_dompdf/dompdf_config.inc.php
    • dompdf/load_font.php a la ruta work/modules/m_dompdf/load_font.php

  4. Creamos el controlador dompdf.php en la ruta work/dompdf.php con la siguiente información:
    <?php

    require('./configs/include.php');
    require(
    C_FULL_PATH."modules/m_dompdf/dompdf_config.inc.php");

    class 
    c_dompdf extends super_controller {
        
        public function 
    show()
        {
            
    $text $this->post->texto;
            
    $dompdf = new DOMPDF();
            
    $dompdf->set_paper("letter""portrait");
            
    $dompdf->load_html($text);
            
    $dompdf->render();
            
    $pdf $dompdf->output();
            
    file_put_contents("./files/example.pdf"$pdf);
            
    header("Location: ./files/example.pdf");
        }

        public function 
    display()
        {
            
    $test='<html><body><p> <img src="./images/t_dark/logo.png" /></p><p>Put your html here, or generate it with your favourite  templating system.</p></body></html>';
            
    $this->engine->assign('test',$test);
            
    $this->engine->assign('title','DomPDF');
            
    $this->engine->display('header.tpl');
            
    $this->engine->display('dompdf.tpl');
            
    $this->engine->display('footer.tpl');
        }
        
        public function 
    run()
        {
            if (isset(
    $this->get->option)){$this->{$this->get->option}();}
            
    $this->display();
        }
    }

    $call = new c_dompdf();
    $call->run();

    ?>

  5. Creamos el template dompdf.tpl en la ruta work/templates/t_dark/dompdf.tpl con la siguiente información:
    <form class="well form-search" method="post" action="{$gvar.l_global}dompdf.php?option=show">
    <legend>Convert to PDF</legend>
    <fieldset>
    <table cellspacing="2">
    <tr><td>Ingrese el texto en html <textarea name="texto" style="width:400px; height:100px;">{$test}</textarea></td></tr>
    <tr><td><input class="btn btn-primary" type="submit" value="Add"></td></tr>
    </table>
    </fieldset>
    </form>

  6. Finalmente accedemos desde el navegador a localhost/work/dompdf.php y dar clic en ADD vemos el sistema funcionando.

Comments

Alerts There are not comments, be the first
Alerts To post comments, you must be a registered