2011-09-25 32 views
5

No he podido encontrar respuestas a mis preguntas en varias publicaciones sobre el mismo tema, es por eso que voy a hacer preguntas más específicas aquí.wkhtmltopdf vs fpdf y preguntas sobre el uso y el rendimiento (HTML a PDF)

Mis preguntas son sobre wkhtmltopdf y fpdf. Necesito uno de esos para crear facturas de 1 página (diseño realmente básico) e informes de 1 página (diseño básico también), por lo que los documentos PDF muy pequeños.

He leído que la mayoría de las personas recomiendan wkhtmltopdf por su rendimiento, pero para documentos pequeños de 1 página ¿realmente hace una diferencia contra fpdf? ¿De verdad consume menos memoria? ¿Más rápido?

Sé que es una pregunta tonta, pero también necesito saber si wkhtmltopdf se puede ejecutar varias veces a la vez. Quiero decir, si hay 1000 usuarios en mi sitio que intentan guardar su factura en PDF al mismo tiempo? ¿Hay un límite? ¿Cómo funciona? Sé que fpdf es una clase de PHP, así que no tengo que "preocuparme" por esto (solo creo que necesito la configuración adecuada de php.ini).

¿Qué sugeriría? Para documentos PDF pequeños pero de alto rendimiento para poder manejar una gran cantidad de solicitudes al mismo tiempo.

¿Hay alguna otra opción?

¡Gracias por tu ayuda!

Respuesta

9

La respuesta corta es sí: puede crear varias instancias de wkhtmltopdf simultáneamente, cada una convirtiendo su propia página html a pdf. Sin embargo, wkhtmltopdf se ejecuta como un proceso del sistema operativo, lo que significa que si 1000 usuarios están viendo sus facturas al mismo tiempo, se generarán 1000 procesos wkhtmltopdf en el servidor, que probablemente no sea lo que usted desea.

Por otro lado, FPDF se ejecuta como parte del proceso del servidor web dentro del tiempo de ejecución de PHP y no tendrá esta limitación. Si está creando una factura pequeña o incluso grande, sugeriré usar FPDF ya que es bastante fácil crear una factura usando FPDF. No solo tendrá mucho control sobre el diseño de la página PDF, sino que también ahorrará tiempo durante el mantenimiento/actualización más adelante.

Uno de los problemas que he encontrado con wkhtmltopdf es la ruptura de página. Wkhtmltopdf no romperá sus páginas como podría esperar. Por ejemplo, una línea de texto se puede dividir entre dos páginas: la parte superior de una línea de texto que aparece al final de una página y la parte inferior que aparece al comienzo de la página siguiente. Para evitar este comportamiento, debe establecer atributos de CSS página-break-after o page-break-before juiciosamente en sus páginas html, lo que puede ser difícil en algún momento porque no está seguro de dónde se romperá la página.

+0

Gracias Indra, esa fue la respuesta que estaba buscando y gracias por la información/detalles. – Mike

Cuestiones relacionadas