¿Cuál es la mejor API PDF para PHP? [cerrado]


110

¿Cuál de estos es el mejor PDF-API para PHP?


6
esta otra pregunta parece haberse eliminado de StackOverflow ahora.
rineez

Sé que es una pregunta anterior, pero preferiría MDF, puede manejar cualquier html complejo, excluyendo algunos puntos que ya se explica en mdf en mpdf1.com/mpdf/limitations
dev.meghraj

Respuestas:


53

personalmente prefiero ir con tcpdf, que es una versión mejorada y mantenida de fpdf.


12
no especificó las razones: una de las más importantes es la compatibilidad con Unicode en tcpdf, que fpdf carece por completo. tcpdf también se mantiene activamente. y también tiene una arquitectura OO decente. Palabra para los sabios: fpdf es básicamente una cosa vieja que fue reemplazada por tcpdf.
zanlok

2
tcpdf carece de características críticas como la incrustación y subconjunto de fuentes (importante para los idiomas asiáticos).
velcrow

2
Acabo de revisar el sitio web de tcpdf y parece que admite subconjuntos e incrustaciones de fuentes. ver el argumento de subconjunto del método SetFont tcpdf.org/fonts.php
Nerrve

1
tcpdf estaba teniendo algunos problemas cuando lo usé con fuentes unicode urdu.
rineez

1
Si llamas a una sola clase con 24k líneas de código "decente OO" debes estar alto. Echa un vistazo a mi versión refactorizada de FPDF para la programación orientada a
Christoffer Bubach

39

Desde el mpdf sitio : "mPDF es una clase PHP que genera archivos PDF a partir de HTML codificado en UTF-8. Está basado en FPDF y HTML2FPDF, con una serie de mejoras".

mpdf es superior a FPDF para el manejo de idiomas y compatibilidad con UTF-8. Para la compatibilidad con CJK, no solo admite la incrustación de fuentes, sino también el subconjunto de fuentes (para que sus archivos PDF de CJK no sean de gran tamaño). TCPDF y FPDF no tienen nada en el soporte UTF-8 y Font de mpdf. Incluso viene con algunas fuentes de código abierto a partir de la versión 5.0.


30

Esta es solo una revisión rápida de cómo fPDF se enfrenta a tcPDF en el área de desempeño en las funciones más básicas de cada biblioteca.

PRUEBA DE VELOCIDAD

17.0366 segundos para procesar 2000 archivos PDF usando fPDF || 79.5982 segundos para procesar 2000 archivos PDF usando tcPDF

VERIFICACIÓN DEL TAMAÑO DEL ARCHIVO (en bytes)

788 fPDF || 1.860 tcPDF

El código utilizado fue lo más idéntico posible y muestra solo un archivo PDF limpio sin texto. También utiliza la última versión de cada biblioteca al 22 de junio de 2011.


5
Hay una serie de mejoras de rendimiento que pueden mejorar enormemente la velocidad de TCPDF (pasé de 1 minuto para crear un solo archivo a aproximadamente 0,5 segundos): tcpdf.org/performances.php
Dan Smart

1
Esas "mejoras" funcionarán igualmente bien con FPDF y realmente no ayudarán en un punto de referencia. TCPDF tiene aproximadamente 24 000 líneas de código, mientras que FPDF tiene aproximadamente 2400 líneas de código.
Christoffer Bubach

Actualización del enlace de @DanSmart
Albert

22

Encontré mpdf mejor que tcpdf en términos de renderizado html. Puede analizar los estilos CSS mucho mejor y crear archivos PDF que se parecen mucho al html original.

mpdf incluso admite elementos CSS como radio de borde y degradado, etc.

Me sorprende ver por qué se habla menos de mpdf cuando se trata de html a pdf.

Consulte los ejemplos aquí http://www.mpdf1.com/mpdf/index.php?page=Examples

Lo encontré útil para diseñar facturas, recibos e impresiones simples, etc. Sin embargo, el sitio web dice que los archivos PDF generados a partir de mpdf tienden a ser más grandes.


2
El enlace está roto. Este podría ser un nuevo enlace: mpdf1.com/mpdf/index.php?page=Examples
Stefan

Actualización de agosto de 2019: use esto como referencia mpdf.github.io
CodeJunkie

mpdf desafortunadamente no parece manejar bien las celdas de tabla grandes. Tan pronto como el contenido supera una página, comienza a reducirse, lo que lo hace inútil para cualquier proyecto que tenga tablas grandes. Aparte de eso; es fácil de usar, eficaz y está bien documentado.
Zumek


11

Personalmente prefiero usar dompdf para páginas PDF simples, ya que es muy rápido. simplemente lo alimenta con una fuente HTML y generará la página requerida.

sin embargo, para diseños más complejos prefiero el pdflib más clásico que está disponible como pecl para PHP. tiene un mayor control sobre los diseños y le permite hacer diseños más complejos como formas de píxeles perfectos.


Pero hay una desventaja de usar dompdf es que no funciona si desea crear varios PDF a la vez o en un bucle.
hmjha

5

http://sourceforge.net/projects/html2ps/ , es el mejor si necesita la compatibilidad con css y 3c.

Si puede instalar software en su servidor, le sugiero que utilice http://wkhtmltopdf.org/ .

También hay un módulo drupal que usa wkhtmltopdf :)

PHP requiere muchos recursos para convertir html en pdf, en mi humilde opinión, php no es el lenguaje correcto para hacer eso (si espera que se conviertan una gran cantidad de versiones o archivos grandes)


Voto a favor de wkhtmltopdf, pero especialmente cuando se usa un método como emplear un convertidor externo, PHP no tiene la culpa de la pérdida de velocidad. Creo que usar wkhtmltopdf o prince de asp.net sería prácticamente igual de rápido que PHP (aunque yo uso asp.net). Claro, PHP no tiene todo el control de procesos de .net, pero apuesto a que todavía funciona lo suficientemente rápido para la mayoría de los proyectos
Joel Peltonen

4

Zend_Pdf de Zend Framework es realmente bueno. Está a la par con pdflib en términos de control de salida y complejidad y es más portátil porque es una solución php pura. Dicho esto, es más lento y usa más memoria que pdflib. Los módulos Pecl son siempre más eficientes que una solución php.

DOMPdf es la forma más fácil de hacer un pdf rápidamente. Como dijo Mike, aliméntelo en html y generará un pdf. Debajo del capó, tiene la opción de usar r & ospdf o pdflib como motor de renderizado.


1
Zend PDF tiene importantes (problemas de rendimiento si incrusta PNG con transparencias) [ framework.zend.com/issues/browse/ZF-3392] . Además, Zend PDF es una herramienta muy mala para cambiar metadatos en archivos PDF de terceros porque no puede manejar nada parecido al estándar PDF completo y se bloquea. Sin embargo, si no necesita estas características, Zend PDF funciona bastante bien y tiene un buen soporte para UTF-8.
Navidad y

3

Yo personalmente genero XSL: FO desde PHP y uso Apache FOP para convertirlo a PDF. No es una solución nativa de PHP, tampoco es muy eficiente, pero funciona bien incluso si necesita generar PDF con diseños muy complejos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.