fPDF es una
excelente herramienta para desarrollar aplicaciones en línea con el
lenguaje de programación PHP y que puedan generar reportes en PDF.
Los sitios
oficiales de PHP y de fPDF son: http://www.php.net/
y http://www.fpdf.org/
en ellos se encuentran mucha información para tus aplicaciones. En
particular el sitio de fPDF contiene unos tutoriales muy útiles para
programar las aplicaciones. Nosotros vamos a comenzar con lo mismos
ejemplos de los tutoriales de fPDF puesto que es lo más básico para
poder gener un simple PDF.
Con fPDF usted puede crear formularios que se llenan en la web y que
producen un archivo pdf, o bien puede hacer una consulta a la base de
datos y generar el resultado del Query en un archivo PDF que se pueda
imprimir de forma profesional.
LA INSTALACIÓN
Hay que entrar al sitio oficial de fPDF y dar clic en donde dice
Descargas, allí se presentan varias versiones, elige la más actual y
bajala a tu disco duro, descomprime el archivo y copia el directorio en
tu servidor. Aquí te dejo un video que encontré en la red:
LOS COMANDOS BÁSICOS
require('fpdf.php')
Siempre debemos de incluir un llamado a la librería fPDF desde nuestro
programa en php. Allí es donde se encuentra el código de las
herramientas que fPDF nos brinda para poder generar ficheros PDFs. Sin
él no podemos hacer nada más.
También se puede susbtituir el comando requiere por include. Es posible
tener la librería fPDF en un directorio aparte de donde se encuentra el
programa y esto lo puedes hacer de cualquiera de las siguientes maneras:
Es el constructor de la clase, el método más importante. Sin él no
entra en acción fPDF. Siempre debes de tener esta línea en tu programa.
Después puedes modificar los atributos de la clase (con los comandos
que abajo se describen) para que se genere el archvo pdf.
Sintaxis:
$pdf
= new PDF([Orientacion],
[Unidad], [Tamaño]);
Dónde:
Orientación de página por defecto. Los posibles
valores son (indiferente a mayúsculas):
P o Portrait (normal)
L o Landscape (apaisado)
Valor por defecto es
P.
Unidad: Unidad de medida de usuario. Los posibles
valores son:
pt: punto
mm: milimetro
cm: centimetro
in: pulgada
Un punto es igual a
1/72 de pulgada, es decir cerca de 0.35 mm (siendo una pulgada 2.54
cm). Esta es una unidad muy común en tipografía; los tamaños de fuentes
son expresados en esa unidad.
Valor por defecto es
mm.
Tamaño: El formato usado por las páginas. Es puede
ser uno de los siguientes valores (indiferente a mayúsculas):
A3
A4
A5
Letter
Legal
o un formato personalizado en la forma de un
array de dos elementos conteniendo el ancho y el alto (expresado en la
unidad dada por unit).
Valor por defecto es
A4.
Ejemplos:
$pdf = new
FPDF('P','mm',array(100,150));
$pdf = new PDF();
AddPage()
Añade una nueva página al documento. La fuente que fue fijada
antes de ser invocada es restaurada automáticamente. No es necesario
invocar nuevamente SetFont() si desea continuar con la misma fuente.
Esto también se aplica para colores y ancho de líneas.
El origen del sistema de
coordenadas es la esquina superior izquierda y se incrementan hacia
abajo.
Sintaxis:
$pdf->AddPage([Orientacion],
[Tamaño]);
Donde Orientación y Tamaño tienen las mismas especificaciones que las
indicadas en el comando FPDF.
Establece la fuente usada para imprimir cadenas de carácteres. Es obligatorio invocar este método por lo
menos una vez antes de imprimir texto o el documento resultante
no será válido. El método puede ser invocado antes que la primera
página sea creada y es mantenido de página a página. Si sólo
desea cambiar el tamaño de la fuente actual, es más simple invocar
SetFontSize().
Sintaxis:
SetFont(string
family [, string style [, float size]])
Donde:
Family: Familia de fuente. Puede ser un nombre
definido por AddFont() o una de las familias estándar (no sensible a
mayúsculas o minúsculas):
Courier (fixed-width)
Helvetica o Arial (sinónimo; sans serif)
Times (serif)
Symbol (symbolic)
ZapfDingbats (symbolic)
Tambien es posible pasar un
cadena vacia. En este caso, se mantiene la familia actual.
Style: Estilo de fuente. Los valores posibles son (no
sensible a mayúsculas o minúsculas):
cadena vacia: regular
B: bold
I: italic
U: underline
o cualquier combinación. El valor por defecto es
regular.
Los estilos Bold e
italic no aplican para Symbol y ZapfDingbats.
Size: Tamaño de fuente en puntos. El
valor por defecto es el tamaño actual. Si ningún tamaño ha sido
especificado desde el comienzo del documento, toma el valor de 12.
Ejemplos:
// Times regular 12
$pdf->SetFont('Times');
// Arial bold 14
$pdf->SetFont('Arial','B',14);
// Elimina bold
$pdf->SetFont('');
// Times bold, italic y underlined 14
$pdf->SetFont('Times','BIU');
Cell()
Imprime una celda (de área rectangular) bordes opcionales, color de
fondo y secuencia de carácteres La esquina superior izquierda de la
celda corresponde a la posición actual. El texto puede ser alineado o
centrado. Despues de invocar, la posición actual se desplaza a la
derecha o la siguiente línea. Es posible poner una referencia en el
texto.
Si está el salto de página automático habilitado y la celda esta
por fuera del límite, es realizado un salto de página antes de producir
la salida.
Este comando es uno de los más utilizados por que se usa para imprimir
el texto. Por ello ahondaremos más en éste.
Sintaxis:
Cell(float
w [, float h [, string txt [, mixed border [, int ln [, string align [,
boolean fill [, mixed link]]]]]]])
Donde:
W: Ancho de Celda. Si es 0, la celda se extiende
hasta la márgen derecha.
H: Alto de celda. Valor por defecto: 0.
TXT: Cadena a ser impresa. Valor por defecto: cadena
vacia.
Border: Indica si los bordes deben se dibujados
alrededor de la celda. El valor puede ser un número:
0: sin borde
1: marco
o una cadena que contenga una o una
combinación de los siguientes caracteres (en cualquier orden):
L: izquierda
T: superior
R: derecha
B: inferior
Valor por defecto: 0.
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.
Align: Permite centrar o alinear el texto. Los
posibles valores son:
L o una cadena vacia: alineación izquierda (valor
por defecto)
C: centro
R: alineación derecha
Fill: Indica si elfondo de la celda debe ser
dibujada (true) o transparente (false). Valor por defecto: false.
Link: URL o identificador retornado por AddLink().
Ejemplos:
// Texto centrado en una
celda con cuadro 20*10 mm y salto de línea
$pdf->Cell(20,10,'Title',1,1,'C');
Output()
Envía
el documento a un destino dado: una cadena, un fichero local o al
navegador. En el último caso, puede utilizarse la extensión -plug in-
(si existe) o forzarse un cuadro de diálogo de descarga. El
método invoca ante todo a Close() si es necesario cerrar el documento.
Sintaxis:
string Output([string name, string dest])
Name: El nombre del fichero. Si no se especifica, el documento se envía al navegador (destino I) con el nombre doc.pdf.
Dest: Destino al que enviar el documento. Puede tener uno de los siguientes valores:
I: envía el fichero al navegador de forma que se
usa la extensión (plug in) si está disponible. El nombre dado en nombre
se usa si el usuario escoge la opción "Guardar como..." en el enlace
que genera el PDF.
D: envía el fichero al navegador y fuerza la descarga del fichero con el nombre especificado por nombre.
F: guarda el fichero en un fichero local de nombre nombre.
S: devuelve el documento como una cadena. nombre se ignora.
Ejemplos:
$pdf->Output();
$pdf->Output('PAMY.pdf','D');
NUESTROS PRIMEROS PROGRAMAS
Primer Programa
<?php
//-----------------------------------------------------------------------------------
// Ejemplo básico de utilización de fPDF
//-----------------------------------------------------------------------------------
require('fpdf.php');
La primera línea <?php nos indica que comienza el código del programa utilizando PHP.
Las siguientes tres líneas que comienzan con // es un comentario del programa.
El comando requiere le indica al servidor que se va a utilizar la librería fpdf. Y va a incorporar el código de la librería en nuestro programa.
El comando new FPDF() le indica al servidor que se va generar un nuevo archivo PDF con las instrucciones de la librería fPDF.
El comando AddPage() agrega una página nueva al documento PDF
SetFont() define el tipo a utilizar que es Arial Bold de 16 puntos.
Cell() escribe Hola Mundo! en el documento. Cell lo escribe en la coordenada (40,10)
El comando Output() genera el archivo pdf y lo envía al navegador.
Recuerda
que para que el código anterior funcione. Debes de haber instalado la
librería completa en un servidor que corra con PHP y el programa que
acabamos de generar debe estar en el mismo directorio que el archivo
fpdf.php