Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/php/Dompdf/conceptosdompdf»

De WikiEducator
Saltar a: navegación, buscar
 
Línea 28: Línea 28:
 
</source>
 
</source>
 
}}
 
}}
 +
===Usar Dompdf con Smarty===
 +
*En el caso de unar un gestor de plantillas, necesitamos tener el html que queremos renderizar a un fichero pdf.
 +
*En '''''smarty''''' disponemos del método '''''fetch()''''' para poder obtener el html de la plantilla tpl.
 +
{{Tip|No olvidar de aportar valores a las variables que necesite para la plantilla}}
 +
*Ejemplo
 +
<source lang=php>
 +
//...
 +
use Dompdf/Dompdf;
 +
//...
 +
    $dompdf = new Dompdf();
  
 +
 +
        $html = $smarty->fetch('pagar.tpl');
 +
       
 +
        //Creamos el fichero de forma física  en nuestro sistema de ficheros
 +
//llamado  /tmp/dompdf_  con el contenido del html de la plantilla fecht anteriormente
 +
 +
        $tmpfile = tempnam("/tmp", "dompdf_");
 +
        file_put_contents($tmpfile, $html);
 +
 +
 +
 +
        $dompdf->loadHtml($html);
 +
 +
// (Optional) Setup the paper size and orientation
 +
        $dompdf->setPaper('A4', 'landscape');
 +
 +
// Render the HTML as PDF
 +
        $dompdf->render();
 +
 +
// Output the generated PDF to Browser
 +
        $dompdf->stream("factura.pdf");
 +
</source>
 
   
 
   
 
{{MRM_Web|Title=Referencias en la web |
 
{{MRM_Web|Title=Referencias en la web |

Última revisión de 20:16 18 feb 2020

DomPDF

  • Herramienta que me va a permitir pasar una página html a pdf aplicando los estilos
  • Lo pero de esta herramienta es la escasa documentación de la API, teniendo que ir muchas veces a los ficheros fuentes para ver los métodos disponibles y su utilidad


Icon activity.jpg
Instalación
Via composer.json (Versión actual 0.8.
{ 
  "require": {
    "dompdf/dompdf": "^0.8",
 }
}





Icon activity.jpg
Uso básico
  • Creamos una página html con css de la que queremos generar su pdf
// Load HTML content
$dompdf->loadHtml('<h1>Welcome to CodexWorld.com</h1>');
 
// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');
 
// Render the HTML as PDF
$dompdf->render();
 
// Output the generated PDF to Browser
$dompdf->stream("descarga.pdf");



Usar Dompdf con Smarty

  • En el caso de unar un gestor de plantillas, necesitamos tener el html que queremos renderizar a un fichero pdf.
  • En smarty disponemos del método fetch() para poder obtener el html de la plantilla tpl.
Icon present.gif
Tip: No olvidar de aportar valores a las variables que necesite para la plantilla


  • Ejemplo
//...
use Dompdf/Dompdf;
//...
    $dompdf = new Dompdf();
 
 
        $html = $smarty->fetch('pagar.tpl');
 
        //Creamos el fichero de forma física  en nuestro sistema de ficheros
//llamado  /tmp/dompdf_  con el contenido del html de la plantilla fecht anteriormente
 
        $tmpfile = tempnam("/tmp", "dompdf_");
        file_put_contents($tmpfile, $html);
 
 
 
        $dompdf->loadHtml($html);
 
// (Optional) Setup the paper size and orientation
        $dompdf->setPaper('A4', 'landscape');
 
// Render the HTML as PDF
        $dompdf->render();
 
// Output the generated PDF to Browser
        $dompdf->stream("factura.pdf");