domingo, 29 de marzo de 2015

Fix dompdf genera un PDF corrupto Laravel

Haciendo una prueba con dompdf para Laravel 5 me encontré con que la libreria generaba un PDF corrupto que no se podia leer y Chrome me indicaba "No se pudo cargar el documento PDF".



Me puse a revisar el binario del fichero con Okteta y me di cuenta que dentro del PDF generado se colaba un mensaje de error que indicaba "date(): It is not safe to rely on the system's timezone ..."



Esto ocurre porque la zona horaria no está configurada dentro del fichero php.ini
Basta con editar el fichero /etc/php.ini (Ese es el directorio en Fedora)


Luego buscar el apartado [Date] y editar el campo date.timezone
Colócale tu zona horaria correspondiente. 
Como soy de venezuela debo colocar: America/Caracas


Guardas, reinicias apache con service httpd restart



Y listo, el PDF se genera bien



Este fue el código de prueba que usé:

<?php 
require '../vendor/autoload.php';
define('DOMPDF_ENABLE_AUTOLOAD', false);
require_once '../vendor/dompdf/dompdf/dompdf_config.inc.php';
$html= "<!DOCTYPE html>".
"<html>".
"<head>".
"<title>PULEINA</title>".
"</head>".
"<body>".
"<h1>HOLA!</h1>".
"</body>".
"</html>";
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("sample1.pdf");
?>



2 comentarios:

  1. gracias carnal, me cae que si no hubiera visto este post, seguiria arracandome el cabello, thanks bro

    ResponderEliminar
  2. Hola, cuando lo abro de manera local lo abre bien, pero al abrirlo desde el programa que está online me da ese error.

    ResponderEliminar