Vemos la función Image(), para insertar imágenes en archivos PDF generados desde PHP por FPDF.
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().
Image()
Esta función la utilizamos para añadir imágenes a nuestros archivos PDF.
Nos admite los formatos JPEG, PNG y GIF (para este 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.
Tenemos tres opciones en cuanto a la especificación de tamaño de la imagen:
- Podemos especificar el ancho y el largo con unidades de medida definidas por nosotros mismos
- Podemos especificar solo el ancho y el sistema calculará el alto automáticamente
- No especificar nada, lo que hará que se imprima la imagen a 72 puntos por pulgada
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.
Su sintaxis es la siguiente:
Image(string file [, float x [, float y [, float w [, float h [, string type [, mixed link]]]]]])
Donde:
- 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.
Un ejemplo completo lo haríamos asi:
<?
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 es bastante sencillo y lo único que hace es mostrar un texto que nos presenta una imagen que aparecerá debajo centrada.
Podemos ver el ejemplo en una página aparte.
En el siguiente artículo vermos como crear enlaces tanto internos como externos.