Contacta (+34) 622 045 404

Estudio de desarrollo front-end, maquetación web, diseño y programación WordPress freelance.

Fundado por Alberto Fortes, diseñador y maquetador web HTML5 responsive design, front-end developer JavaScript y programador WordPress freelance a medida desde 2006.

Especializados en outsourcing con importantes clientes finales.

dompdf + CodeIgniter bug. No se genera pdf con imágenes

27 Enero, 2012

Quizá tengas este problema que me ha traído de cabeza:
Usando CodeIgniter con dompdf para generar pdfs, si tienes imágenes en la vista que debe imprimir el pdf, este no se genera.
Mi problema era aún mas desesperante porque en local me funcionaba pero no en producción. Gracias a Manuel Recena de Klicap, hemos encontrado la solución:
1. Debes tener habilitado: allow_url_fopen (haz un phpinfo.php y comprueba que el valor está on)
2. Si con esto no funciona, te pasará lo que me pasaba a mí. Si hechas un vistazo a los logs verás que te pide un archivo que no existe: ‘…ci_exceptions.cls.php’ Tendrás que poner un parche en tu dompdf_config.inc.php
Busca esto:

function DOMPDF_autoload($class) {
  $filename = mb_strtolower($class) . ".cls.php";
  require_once(DOMPDF_INC_DIR . "/$filename");
}


Y sustitúyelo por:

function DOMPDF_autoload($class) {
   $filename = mb_strtolower($class) . ".cls.php";
   if($filename != "ci_exceptions.cls.php"){
      require_once(DOMPDF_INC_DIR . "/$filename");
      // require_once(DOMPDF_INC_DIR . "/dompdf.cls.php");
   }
}


Con este parche seguramente ya te funcionará. Si no es el caso a googlear, porque las dompdf y las imágenes suelen dar bastantes problemillas.

Y todo esto no hubiera sido posible sin la ayuda de Manuel Recena de Mivecindad y Clinker