|
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.
PDFlib está disponible para descargar en http://www.pdflib.com/products/pdflib/index.html, pero requiere la compra de una licencia para uso comercial. Se requieren las bibliotecas JPEG y TIFF para compilar esta extensión.
Cualquier versión de PHP después del 9 de Marzo del 2000 no soporta versiones de PDFlib anteriores a la 3.0.
PDFlib 3.0 o superior es compatible desde PHP 3.0.19 en adelante.
Esta extension PECL no esta ligada a PHP. Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/pdflib.
To get these functions to work in PHP < 4.3.9, 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.
As of PHP 4.3.9, you must install this extension through PEAR, using the following command: pear install pdflib.
Esta extensión no tiene directivas de configuración en php.ini.
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. |
pdf_get_font() | pdf_get_value() pasando "font" como segundo parámetro. |
pdf_get_fontsize() | pdf_get_value() pasando "fontsize" como segundo parámetro. |
pdf_get_fontname() | pdf_get_parameter() pasando "fontname" como segundo parámetro. |
pdf_set_info_creator() | pdf_set_info() pasando "Creator" como segundo parámetro. |
pdf_set_info_title() | pdf_set_info() pasando "Title" como segundo parámetro. |
pdf_set_info_subject() | pdf_set_info() pasando "Subject" como segundo parámetro. |
pdf_set_info_author() | pdf_set_info() pasando "Author" como segundo parámetro. |
pdf_set_info_keywords() | pdf_set_info() pasando "Keywords" como segundo parámetro. |
pdf_set_leading() | pdf_set_value() pasando "leading" como segundo parámetro. |
pdf_set_text_rendering() | pdf_set_value() pasando "textrendering" como segundo parámetro. |
pdf_set_text_rise() | pdf_set_value() pasando "textrise" como segundo parámetro. |
pdf_set_horiz_scaling() | pdf_set_value() pasando "horizscaling" como segundo parámetro. |
pdf_set_text_matrix() | Ya no se necesita. |
pdf_set_char_spacing() | pdf_set_value() pasando "charspacing" como segundo parámetro. |
pdf_set_word_spacing() | pdf_set_value() pasando "wordspacing" como segundo parámetro. |
pdf_set_transition() | pdf_set_parameter() pasando "transition" como segundo parámetro. |
pdf_open() | pdf_new() más la subsecuente llamada de pdf_open_file() |
pdf_set_font() | pdf_findfont() más la subsecuente llamada de pdf_setfont() |
pdf_set_duration() | pdf_set_value() pasando "duration" como segundo parámetro. |
pdf_open_gif() | pdf_open_image_file() pasando "gif" como segundo parámetro. |
pdf_open_jpeg() | pdf_open_image_file() pasando "jpeg" como segundo parámetro. |
pdf_open_tiff() | pdf_open_image_file() pasando "tiff" como segundo parámetro. |
pdf_open_png() | pdf_open_image_file() pasando "png" como segundo parámetro. |
pdf_get_image_width() | pdf_get_value() pasando "imagewidth" como segundo parámetro y la imágen como tercer parámetro. |
pdf_get_image_height() | pdf_get_value() pasando "imageheight" como segundo parámetro y la imágen como tercer parámetro. |
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
|
Hosting by: hurra.com
Generated: 2007-01-26 18:01:10