DOMPDF – Solucionar problemas con Adobe Reader en Windows

DOMPDF es una excelente libreria para generar PDF, de las que he probado es las mas facil de usar, tanto asi como generar un html y pasarlo como paramemtro a esta libreria,  desde linux todo funciona perfecto, pero al tratar de leer un pdf desde Windows obtenemos:

<p>Message:  file_put_contents(system/plugins/dompdf/lib/fonts/php_Times-Roman.afm) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: Permission denied</p>

Lo primero que debemos hacer es dar permisos 777 a la carpeta DOMPDF y todo su contenido.

Pero Acrobat Reader nos seguira dando error en Windows, el siguiente paso para dar con la solucion definitiva es cambiar la siguiente linea:

$content = “%PDF-1.3\n%����\n”;

Por esto:

$content = ‘%PDF-1.3
%����
‘;

Dentro del Archivo “dompdf/lib/class.pdf.php” en la linea 2079 aprox.

Si de todas formas seguimos teniendo problemas con la libreria, el mejor metodo para hacer debug es abrir el pdf resultante con editplus en Windows o QuantaPlus en Linux(tambien podemos ver los logs de apache, pero no siempre son tan completos).

La razon de ver el contenido del pdf para hacer debug, es que esta libreria, al causar un error lo escribe en el pdf, justo antes de lanzar el contenido  real del documento, y es por esta razon que acrobat reader en Windows nos da error y no lee el documento.


Leave a Comment