Foros del Web » Programando para Internet » PHP »

Pasar de html a pdf

Estas en el tema de Pasar de html a pdf en el foro de PHP en Foros del Web. Hola a todos. Estoy haciendo una aplicación de gestión vía web, y necesito generar muchos informes, hasta el momento para realizar esto utilizaba la librería ...
  #1 (permalink)  
Antiguo 30/01/2015, 12:45
 
Fecha de Ingreso: noviembre-2004
Ubicación: ELche
Mensajes: 153
Antigüedad: 19 años, 5 meses
Puntos: 0
Pasar de html a pdf

Hola a todos.

Estoy haciendo una aplicación de gestión vía web, y necesito generar muchos informes, hasta el momento para realizar esto utilizaba la librería "dompdf", la cual no me había generado ningún problema.

Bien ahora necesito generar un listado (son facturas), de un rango de fecha, cada factura ocupa una hoja o más de una del pdf, y conlleva bastantes paginas.

Al parecer si pasa de una 80 páginas, no puede generarlas y me manda un archivo vacío.

Existe alguna otra libreria con la que pueda realizar esta acción. Se puede aumentar o decir al dompdf que suba las páginas, o la memoria que utiliza.

PD: no es problema ni del script de ejecucion (max_time_execution) ya que lo coloque a 10 minutos y no tarda ni 3. ni del tamaño, porque no supera los 128M, porque uno que me ejecuto con 80 paginas, pesaba 2 mb.

Alguna idea o aplicación que desconozca.

Muchas Gracias de antemano.

Un saludo
  #2 (permalink)  
Antiguo 30/01/2015, 12:52
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Pasar de html a pdf

¿Ya consultaste la documentación de DOMPDF a propósito de saber si se puede configurar lo que buscas?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 30/01/2015, 13:34
 
Fecha de Ingreso: noviembre-2004
Ubicación: ELche
Mensajes: 153
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Pasar de html a pdf

He estado comprobando la documentación de dompdf y no encuentro ningun parametro que indique el numero máximo de lineas que se pueden generar.

Alguien sabe si es posible?

Gracias
  #4 (permalink)  
Antiguo 30/01/2015, 13:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Pasar de html a pdf

El hecho de que "te mande un archivo vacío" no tiene sentido, no puede sencillamente enviarte nada la librería y no informarte de ello.

Seguramente será por algún error que no alcanzas a ver, y desde luego tampoco sabemos adivinar.

¿Podrías activar el reporte completo de errores y revisar los logs por si acaso?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 30/01/2015, 14:15
 
Fecha de Ingreso: noviembre-2004
Ubicación: ELche
Mensajes: 153
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Pasar de html a pdf

A ver, es extraño, que si las paginas son 89, tarde un poco, pero las imprima perfectamente, y si el resultado son 90, ya el mensaje es casi automático 'SERVER_EMPTY_RESPONSE', es lo que me dice el navegador.

Si intento ver el resultado de la red, no me devuelve nada, y en cuanto al reporte completo de errores no se a lo que te refieres.

También he aumentado el tamaño del limite de memoria del servidor de 128 a 256 y nada.

El tiempo de ejecución lo he colocado a 10 minutos y como te dije, y conometrado no alcanza los 5.

sino es por el limite de paginas no se porque es.

He pensado que sería que el registro de la pagina 90 es el que esta mal, pero he lanzado el listado al contrario que empiece por el final y se muestran todos hasta la pagina 89 si es mas no se muestran.

Segun la documentacion de dompdf el limite de memoria lo marca el servidor. Y con un pdf que con 89 paginas pesa 2.1MB no creo que en la 90 pese 256,

Alguna idea?


Gracias
  #6 (permalink)  
Antiguo 30/01/2015, 15:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Pasar de html a pdf

Sigues aferrado a lo que "ves" por el navegador, porque el error que recibes es precisamente un error a nivel servidor.

Cita:
Iniciado por Picher Ver Mensaje
Alguna idea?
Repito: ¿podrías activar el reporte completo de errores y revisar los logs por si acaso?

Y me refiero a los logs de PHP, porque para que el servidor te entregue "una respuesta vacía" es por algún error interno, ¿será posible que también de te indique un status de error?

Vamos, que si sigues viendo al monitor por alguna respuesta ésta jamás vendrá, tienes que ponerte a investigar y depurar el código en cuestión.

Es más, ¿has intentado ejecutar la misma rutina fuera del servidor web? ¿desde la linea de comandos?

Así podrías descartar errores de servidor, memoria, etc.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 31/01/2015, 13:37
 
Fecha de Ingreso: noviembre-2004
Ubicación: ELche
Mensajes: 153
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Pasar de html a pdf

Hola denuevo,

Valee, ahora te entiendo.

Parece que no me explique y deje algunas cosas sin decir.

Antes de generar el pdf con la libreria dompdf, genero el html por codigo de servidor(PHP), un html normal y corriente.

Bien si en vez de añadir el html al dompdf, directamente hago:

echo $htmlPDF

esto funciona perfectamente, y da igual el numero de lineas que pongas, a parte de que lo hace de forma casi automática, sin darme ningun error de servidor, tanto en la zona web, como en local.

Ahora bien,

Si hago lo siguiente una vez generado el $html:

# Instanciamos un objeto de la clase DOMPDF.
$mipdf = new DOMPDF();
# Definimos el tamaño y orientación del papel que queremos.
# O por defecto cogerá el que está en el fichero de configuración.
$mipdf ->set_paper("A4", "portrait");
# Cargamos el contenido HTML.
$mipdf ->load_html($htmlPDF);
# Renderizamos el documento PDF.
$mipdf ->render();
# Enviamos el fichero PDF al navegador.
$mipdf ->stream('Facturas.pdf',array("Attachment" => 0));

Es cuando me devuelve el valor vacío, ni si quiera carga las 80 primeras y el resto no,
me devuelve una variable vacía, y no se porque, ya me esta volviendo loco, como dice en anteriores mensajes no es problema de los datos ya que el rango lo varío lo unico cierto es que cuando paso de 89 paginas, falla.

Ahora mejor?

Perdonar mi desesperación pero llevo mucho con esto.

Existe alguna otra libreria que también haga lo mismo que no sea dompdf ni html2pdf que son las mismas casi?


Un saludo

Y muchas Gracias por la ayuda

Etiquetas: fecha, html, pdf
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:00.