Las funciones PDF en PHP pueden crear archivos PDF utilizando la
biblioteca PDFlib creada por Thomas Merz.
La documentación en esta sección solamente es una
descripción de las funciones de la biblioteca PDFlib y no
debería considerarse una referencia exhaustiva. Se ha de
consultar la documentación incluida en el código
fuente de la distribución de PDFlib para una completa y
detallada explicación de cada función. Proporciona
muy buena descripción de las capacidades de PDFlib y
contiene actualizada la documentación de todas las
funciones.
Todas las funciones de PDFlib y del módulo PHP tienen
nombres iguales para las funciones y parámetros. Se
necesitará entender algunos de los conceptos
básicos de PDF y PostScript para un eficiente uso
de esta extensión. Todas las longitudes y coordenadas
se mesuran en puntos PostScript. Generalmente hay 72 puntos
PostScript por pulgada, pero esto depende de la
resolución de salida. Se puede consultar la
documentación incluida en la distribución de
PDFlib para una detallada explicación del sistema
de coordenadas utilizado.
Hay que tener en cuenta que la mayoría de las
funciones PDF requieren un primer parámetro
pdfdoc. En los siguientes
ejemplos hay más
información.
Nota:
Si se está interesado en alternativas de generadores gratis de PDF que
no utilizen liberías externas PDF, mirar
este FAQ relacionado.
To get these functions to work, you have to compile PHP with
--with-pdflib[=DIR]. DIR is the PDFlib
base install directory, defaults to /usr/local.
In addition you can specify the jpeg, tiff, and pnglibrary for PDFlib to
use, which is optional for PDFlib 4.x.
To do so add to your configure line the options
--with-jpeg-dir[=DIR]--with-png-dir[=DIR]--with-tiff-dir[=DIR].
When using version 3.x of PDFlib, you should configure PDFlib
with the option --enable-shared-pdflib.
Desde PHP 4.0.5, la extensión PHP para PDFlib es oficialmente
soportada por PDFlib GmbH. Esto significa que todas las funciones
descritas en el manual de PDFlib (V3.00 o superior) son
soportadas por PHP 4 con el mismo funcionamiento y parámetros.
Sólo los valores devueltos pueden variar en el manual
PDFlib, ya que PHP adoptó la convención de devolver FALSE.
Por razones de compatibilidad, PDFlib aún soporta las antiguas
funciones, pero deberían reemplazarlas en sus nuevas versiones.
PDFlib GmbH no dará soporte a cualquier problema causado
por el uso de estas funciones obsoletas.
Tabla 1. Funciones obsoletas y sus reemplazos.
Antigua función
Reemplazo
pdf_put_image()
Ya no se necesita.
pdf_execute_image()
Ya no se necesita.
pdf_get_annotation()
pdf_get_bookmark()
utilizando los mismos parámetros.
La mayoría de las funciones son bastante fáciles de utilizar.
La parte más difícil probablemente es la creación de un primer
documento PDF. El siguiente ejemplo debería ayudar para
comenzar. El ejemplo crea el archivo test.pdf
en una página. La página contiene el texto "Times Roman outlined"
en un contorno, con fuente de 30pt.
El texto también está subrayado.
La distrubución PDFlib contiene un ejemplo
más complejo para crear un reloj analógico en
una página. Aquí se utiliza el método de
creación en memoria de PDFlib para no tener que crear
un archivo temporal. El ejemplo se ha convertido a PHP
desde uno de PDFlib (El mismo ejemplo está
disponible en la documentación ClibPDF.)
Ejemplo 3. Ejemplo pdfclock de la distribución PDFlib
Nota:
Una alternativa de módulo PHP para la creación
de documentos PDF basados en
FastIO's ClibPDF está
disponible. Mirar la sección ClibPDF
para más detalles. Tener en cuenta que ClibPDF tiene alguna diferencia con PDFlib.