páginas web valladolid
  • paginas web
  • publicidad valladolid
  • localizacion agencia de publicidad valladolid

Generar PDFs con PHP en Web Básico

Para generar o trabajar con PDFs y PHP en páginas web, os aconsejamos la librería FPDF.

FPDF es una clase escrita en PHP que permite generar documentos PDF directamente desde PHP, es decir, sin usar la biblioteca PDFlib.

La F de FPDF significa Free (gratis y libre): puede usted usarla para cualquier propósito y modificarla a su gusto para satisfacer sus necesidades. FPDF no necesita de ninguna extensión para PHP (excepto zlib para activar la compresión y GD para soporte a GIF) y funciona con PHP4 (≥ 4.3.10) y PHP5.

Entre las funcionalidades que nos ofrece esta librería nos encontramos:

• Elección de la unidad de medida, formato de página y márgenes

• Gestión de cabeceras y pies de página

• Salto de página automático

• Salto de línea y justificación del texto automáticos

• Admisión de imágenes (JPEG y PNG)

• Colores • Enlaces

• Admisión de fuentes TrueType, Type1 y codificación

• Compresión de página

• Posibilidad de usar otro idiomas y caracteres especiales. La instalación es sencilla, lo copias en el directorio donde guardes las librerías e incluyes la ruta en el include_path del php.ini. Se recomienda leer las preguntas frecuentes antes de empezar a utilizarla.

¿Cómo generar un PDF sencillo con PHP?

Ejemplo básico de PDF:

<?php
require(′fpdf.php′);
$archivo_de_salida=′nombre_fichero′;
$pdf=new FPDF();  //crea el objeto
$pdf->AddPage();  //añadimos una página. Origen coordenadas, esquina superior izquierda, posición por defeto a 1 cm de los bordes.
$pdf->SetFont(′Arial′,′B′,16);
$pdf->Cell(40,10,′¡Hola, Mundo!′);
$pdf->Output($archivo_de_salida);//cierra el objeto pdf
?>

En este caso, el constructor FPDF() se usa con sus valores por defecto. Pero si éstos cambian se puede declarar de la forma:

FPDF([string orientation [, string unit [, mixed format]]])

Parámetros de la Clase FPDF:

Orientation: Orientación de la Página del Documento PDF

Valores: P (normal, valor por defecto) o L (apaisado)

Unit: Unidad de medida del usuario.

Valores: pt (punto), mm (milímetro, valor por defecto), cm (centímetro), in (pulgada).

Format: Formato de las páginas Valores: A3, A4 (valor por defecto), A5, Letter, Legal.

Antes de que podamos imprimir texto, es obligatorio escoger una fuente con SetFont(), si no, el documento no será válido. Escogemos Arial en negrita de tamaño 16:

$pdf->SetFont(′Arial′,′B′,16);

Para imprimir o escribir una línea utilizamos la función Cell(). Una celda es una superficie rectangular, con borde si se quiere, que contiene texto. Especificamos sus dimensiones, el texto (centrado o alineado), si queremos dibujar o no los bordes, y dónde se ubicará la posición actual después de imprimir la celda (a la derecha, debajo o al principio de la siguiente línea).

Otros ejemplos:

$pdf->Cell(40,10,′¡Hola, Mundo!′,1);//añade borde
$pdf->Cell(60,10,′Hecho con FPDF.′,0,1,′C′); //texto centrado y salto de línea.

Nota: el salto de línea puede provocarse también mediante Ln(). Este método le permite especificar además la altura del salto.

En el artículo Generar PDFs con PHP Avanzado explicamos como incluir la cabecera, el píe de página al documento PDF, y realizar saltos de páginas e insertar imágenes.

[ Librería FPDF descarga ]   [ Manual FPDF ]   [ FAQ’S ]

 

« volver a Artículos Web

Comentarios Total 3 comentarios

usuario web Chus - Sencillo y muy clarito
Publicado: 31/03/2010 13:20:54

Buen manual, los que había visto antes sobre la creación de pdf′s para php eran bastante liosos. Me ha funcionado todo a la primera ;) gracias

usuario web Uri - ninguno
Publicado: 22/04/2010 20:27:20

Alguien sabe posicionar celdas en forma de fila, es decir, en diferentes filas? tengo esto pero siguen situadas en la misma fila.
$pdf->Cell(120,10,′Hola.′,1,′C′);
$pdf->Cell(28,4,′Mundo Cruel ′,1);

usuario web Jorge Lago - Salto de línea en un PDF
Publicado: 26/04/2010 10:42:52

Hola Uri, puedes utilizar:
Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, boolean fill [, mixed link]]]]]]])

y en el valor ln, indica donde la posición actula debería ir antes de invocar. Los valores posibles son:

0: a la derecha
1: al comienzo de la siguiente línea
2: debajo
Poner 1 es equivalente a poner 0 y llamar justo despues Ln(). Valor por defecto: 0.

Ejemplo: $pdf->Cell(60,10,′Hecho con FPDF.′,0,1,′C′); //texto centrado y salto de línea.

El salto de línea también puede provocarse también mediante Ln(). Este método le permite especificar además la altura del salto.

Comentar

En este blog los comentarios están moderados. Por favor, evita los comentarios ofensivos u obscenos por que serán borrados.

  • Imagen de seguridadRefrescar imágen

  • * Campos obligatorios