Estudio y ejemplos para insertar imágenes en documentos PDF, mediante la función Image() de la librería FPDF para PHP.
A lo largo del Manual de FPDF, hemos visto cómo generar PDFs básicos desde PHP. En el artículo anterior aprendíamos a modificar el pie y la cabecera de un archivo pdf con FPDF y ahora vamos a ver de forma detenida la función Image(). Como supondrás, nos sirve para incluir imágenes en documentos PDF generados con PHP.
Cómo insertar imágenes con la función Image() de FPDF
Esta función la utilizamos para añadir imágenes a nuestros archivos PDF. Tiene grandes posibilidades de configuración, que vamos a resumir a continuación.
La librería FPDF admite trabajar con los formatos JPEG, PNG y GIF (aunque para este último formato necesitamos la extensión GD).
El formato de la imagen se puede especificar explícitamente o simplemente ser deducido a partir de la extensión del fichero de gráfico que deseamos incluir.
Tenemos tres opciones en cuanto a la especificación de tamaño de la imagen:
- Podemos especificar el ancho y el largo de la foto con unidades de medida definidas por nosotros mismos.
- Podemos especificar solo el ancho y dejar que la propia librería calculeel alto automáticamente, de manera proporcional.
- No especificar nada, lo que hará que se imprima la imagen a 72 puntos por pulgada, con las dimensiones definidas por el propio archivo gráfico.
Esta función además nos permite asociar un enlace a la imagen.
Por otro lado si repetimos las imágenes, FPDF solo guardará una copia para así bajar el peso del archivo, lo que mejora la optimización del PDF resultante.
Sintaxis de la función image de FPDF
Si nos referimos a la documentación de la librería FPDF, la sintaxis de image() es la siguiente:
Image(string file [, float x [, float y [, float w [, float h [, string type [, mixed link]]]]]])
El resumen de los parámetros aceptados por la función:
- file: nombre del archivo de la imagen.
- x: Abscisa de la esquina superior izquierda. Si no se especifica se utilizará la abscisa actual.
- y: Ordenada de la esquina superior izquierda. Si no se especifica se utilizará la ordenada actual.
- w: Ancho de la imagen en la página.
- h: Alto de la imagen en la página.
- type:Formato de la imagen.
- link: identificador devuelto por el método AddLink() o la url del enlace.
Un ejemplo sencillo sería el siguiente:
$this->Image('logo.jpg',10,8,22);
En este ejemplo nos calcularía el alto de la imagen de forma automática.
Ahora veamos un ejemplo más elaborado de inserción de imagen en un PDF:
require('/fpdf/fpdf.php');
$pdf=new FPDF();
//Primera página
$pdf->AddPage();
$pdf->SetFont('Arial','',15);
$pdf->Cell(40,20);
$pdf->Write(5,'A continuación mostramos una imagen ');
$pdf->Image('leon.jpg' , 80 ,22, 35 , 38,'JPG', 'http://www.desarrolloweb.com');
$pdf->Output();
Este ejemplo sigue siendo bastante sencillo. Como detalle adicional el código anterior permitirá mostrar un texto que nos presenta una imagen que aparecerá debajo centrada.
Esperamos que este tutorial te haya resultado de utilidad para crear tus PDF usando imágenes, algo que realmente te servirá mucho en el día a día. En el siguiente artículo vermos como crear enlaces tanto internos como externos.