2010-11-15 7 views
8

Estoy intentando generar dinámicamente algunos informes, tablas HTML muy simples con bordes.La generación de PDF más rápida en PHP?

He intentado TCPDF y rinde hasta 400 filas, pero nada más que eso (alrededor de 20 páginas) no puede manejarlo. DOMPDF ni siquiera puede hacer eso.

Estos informes pueden tener miles de filas.

¿Alguna idea en una biblioteca más rápida o un mejor plan de ataque?

+3

Define "No puedo manejarlo"? Si los scripts alcanzan la memoria o los límites de tiempo, es posible que haya otras cosas que pueda hacer antes de cambiar de biblioteca. –

+0

Este es un buen punto; si se trata de un problema de memoria, puede intentar algo como esto (por supuesto, depende de lo que permita su host): ini_set ('memory_limit', '128M'); – jocull

+0

Abre un nuevo PDF con un encabezado y pie de página pero sin contenido. – Scott

Respuesta

0

Es posible que, dependiendo del informe de que PHP no sea la solución correcta, usted y podría considerar otro lenguaje alternativo como perl para lograr esto. No tengo experiencia con otros lenguajes del lado del servidor, pero es algo a tener en cuenta. Definitivamente siga el consejo de @ Pekka y determine los límites y trabaje en ajustarlos.

0

Hecho Miles de filas pueden ser manejadas por el php.

Mi suposición

de datos Lo más probable es que va a ir a buscar desde db y guardar en una matriz y luego se le bucle para escribir las filas.

Esto consumirá memoria.

Mi sugerencia

tratar de escribir en el pdf en el momento de ir a buscar a partir db. elimine el paso de almacenar en una matriz.

compruebe el tiempo de ejecución y la memoria asignada en php ini.

Por último cuando lo genere, piense que PDF puede manejarlo o no :-) seguramente Tendrá un tamaño enorme.

1

Trate DocRaptor.com. Es una aplicación basada en la web que convierte html a pdf. Fácil de usar.

2

Uso la biblioteca FPDF, la salida es rápida y eficiente en el uso de los recursos. Pruébelo ... http://www.fpdf.org/

+0

FPDF es genial y muy eficiente. Pero ... no puede manejar plantillas en HTML o algo así. – Bram

Cuestiones relacionadas