Hay varias situaciones en las que un archivo PDF dinámico es una gran solución para ofrecer documentos digitales directamente en su aplicación web. Piense en los documentos de pedido en su aplicación de comercio electrónico, en los cupones para su campaña de marketing o simplemente en la versión PDF de su página web. Hay muchas situaciones en las que un documento PDF dinámico es una gran manera de resolver problemas también. Usando PHP es posible generar esos archivos PDF. Como desarrollador, puedes usar varias clases gratuitas de PHP y también está la biblioteca PDFlib que es un producto comercial. Esta lista es una muestra de las clases y bibliotecas más populares de PHP.
Generar archivos PDF usando PHP
Las siguientes clases están escritas para generar archivos PDF «desde el principio» utilizando funciones nativas de PHP:
FPDF
La clase FPDF está escrita para PHP4 y fue el primer script PHP libre para crear archivos PDF «sobre la marcha». He usado esta clase hace 8 años para generar documentos PDF en varias aplicaciones de comercio electrónico. El sitio web del proyecto ofrece una gran documentación y también un montón de ejemplos de código útil. La última versión es de junio de 2011 y espero que la próxima versión esté escrita para PHP5. La versión original no soporta UTF-8, pero desde hace un tiempo hay una extensión de clase llamada tFPDF que soporta UTF-8.
TCPDF
Como muchos otros scripts de PDF, el proyecto TCPDF también se basa en el FPDF. La clase TCPDF fue en un principio una reescritura para PHP5 con el soporte para UTF-8. Ahora este proyecto es un gran generador de PDF con grandes funciones de imagen incluyendo soporte para el modo de color CMYK.
La falta de soporte para UTF-8 en FPDF fue la razón por la que ahora uso la clase TCPDF para todos mis proyectos. Incluso para los proyectos en los que he usado la clase FPDF, fue muy fácil hacer el cambio a este proyecto. La documentación del proyecto TCPDF no es tan buena como la de la clase FPDF, pero hay muchos ejemplos bien documentados.
Zend_Pdf
El marco de trabajo de Zend tiene también la clase de generación de PDF, que tiene menos funciones que el FPDF o las otras clases. Como muchas otras clases dentro del Marco de Trabajo de Zend es la documentación muy limitada para esta clase también. Si ya estás usando el Marco de Zend para tu proyecto y necesitas alguna función básica de PDF, deberías optar por esta solución PDF dinámica.
PDFlib
El PDFlib es la solución comercial PDF para PHP. Si se instala (compila), puede usar las funciones PDFlib directamente en su código PHP sin necesidad de incluir un archivo o biblioteca de clases. Esto puede funcionar mejor y a menudo es más rápido, pero este producto también tiene un precio «genial». He trabajado con PDFlib en uno de mis proyectos en el pasado y PDFlib es un gran script de generación de PDF. Si busca la documentación de PDF en el sitio web de PHP, la información está desactualizada y ya no se actualiza para la versión actual. En el momento en que su proyecto se hace más grande y la creación de archivos PDF es una parte importante dentro de su proyecto, debería pensar en esta biblioteca PDF para PHP.
Importar archivos PDF y agregar contenido usando PHP
Las clases anteriores son herramientas para crear archivos PDF utilizando código PHP, por ejemplo para generar documentos de facturas en PDF. Usando estas herramientas, necesitas crear cualquier elemento para tu documento PDF. Las siguientes clases le ayudarán a utilizar los archivos PDF existentes para crear un nuevo archivo PDF dinámico.
FPDI
FPDI es una gran extensión de clase para el FPDF y el script de clase TCPDF. Es fácil: El código PHP abre un archivo, lo mantiene en la memoria del servidor web y puede añadir texto e imágenes.
PDI (un producto PDFlib)
También hay una función de importación de PDF (comercial) llamada PDI para la biblioteca PDFlib. Según su sitio web, es necesario comprar esta extensión o clase junto con PDFlib como un paquete. Nunca he usado esta clase de importación de PDF, pero creo que es importante mencionar este script también.
Conversión de HTML a PDF con PHP
Hay muchas solicitudes de conversión de HTML a PDF. Esta característica es útil si quieres generar una versión PDF de tu sitio web de forma dinámica. Los dos proyectos siguientes son los guiones más importantes (si se habla de información disponible y actualizaciones frecuentes).
mPDF
El mPDF está basado en FPDF y HTML2FPDF, con una serie de mejoras. El script es capaz de procesar el código HTML codificado en utf-8 y es capaz de usar hojas de estilo CSS para el diseño del PDF generado.
dompdf
dompdf es un convertidor de HTML a PDF que es capaz de leer/parar los diseños HTML compatibles con CSS 2.1. El script es capaz de renderizar los estilos de las hojas de estilo externas y los atributos de estilo de los elementos individuales de HTML. La función de renderización de PDF es actualmente proporcionada por PDFLib o la clase R&OS CPDF escrita por Wayne Munro.
Estas son un montón de herramientas para hacer algún trabajo en PDF, si olvidé una clase o biblioteca importante de PHP por favor menciónelas en un comentario.