+ All Categories
Home > Documents > Manual FPDF

Manual FPDF

Date post: 12-Oct-2015
Category:
Upload: jose-alberto-san-agustin
View: 70 times
Download: 1 times
Share this document with a friend
Popular Tags:

of 29

Transcript

Manual FPDF

FPDF 1.7 Manual de ReferenciaAcceptPageBreak- acepta o no un salto de pgina automticoAddFont- aade una nueva fuenteAddLink- crea una referencia internaAddPage- aade una nueva pginaAliasNbPages- define un alias para el nmero de pginasCell- imprime un celdaClose- termina el documentoError- error fatalFooter- pie de pginaFPDF- constructorGetStringWidth- calcula la longitud de la cadenaGetX- obtiene la posicin actual de xGetY- obtiene la posicin actual de yHeader- cabecera de pginaImage- imprime una imagenLine- dibuja un lneaLink- pone una referenciaLn- salto de lneaMultiCell- imprime texto con saltos de lneaOutput- guarda o enva el documentoPageNo- nmero de pginaRect- dibuja un rectanguloSetAuthor- establece el autor del documentoSetAutoPageBreak- establece el modo de salto de pagina automticoSetCompression- cambia la compresin en activo o inactivoSetCreator- establece el creador del documentoSetDisplayMode- establece el modo de presentacinSetDrawColor- establece el color de graficacinSetFillColor- establece el color de rellenoSetFont- establece la fuenteSetFontSize- establece el tamao de la fuenteSetKeywords- asocia las palabras claves con el documentoSetLeftMargin- establece el mrgen izquierdoSetLineWidth- establece el ancho de la lneaSetLink- establece el enlace de destinoSetMargins- establece los mrgenesSetRightMargin- establece el mrgen derechoSetSubject- establece el tema del documentoSetTextColor- establece el color del textoSetTitle- establece el ttulo del documentoSetTopMargin- Establece el mrgen superiorSetX- establece la posicin actual de xSetXY- establece la posicin actual de x y ySetY- establece la posicin actual de yText- imprime una cadenaWrite- imprime el siguiente texto

Tutorial 1

Ejemplo bsicoComencemos con el clsico ejemplo:

[Demo]Despus de incluir el fichero de la clase, creamos el objeto FDPF. El constructorFPDF()se usa aqu con sus valores por defecto: las pginas son de tamao a4 alargado y la unidad de medida es el milmetro. Se podra haber declarado explcitamente con:$pdf = new FPDF('P','mm','A4');Es posible usar el formato apaisado(L), otros formatos de pgina (comoCartayLegal) y otras unidades de medida (pt,cm,in).

Por el momento no hemos creado ninguna pgina, as que aadiremos una conAddPage(). El origen de coordenadas est en la esquina superior izquierda y la posicin actual est por defecto situada a 1 cm de los bordes; los mrgenes pueden cambiarse conSetMargins().

Antes de que podamos imprimir texto, es obligatorio escoger una fuente conSetFont(), si no, el documento no ser vlido. Escogemos Arial en negrita de tamao 16:$pdf->SetFont('Arial','B',16);Podramos haber especificado itlica con I, subrayado con U o normal con una cadena vaca (o cualquier combinacin de las anteriores). Observe que el tamao de la fuente se detemina en puntos, no en milmetros (ni en cualquier otra unidad establecida por el usuario); es la nica excepcin. Las otras fuentes incorporadas son Times, Courier, Symbol y ZapfDingbats.

Ahora podemos imprimir una celda conCell(). Una celda es una superficie rectangular, con borde si se quiere, que contiene texto. Se imprime en la posicin actual. Especificamos sus dimensiones, el texto (centrado o alineado), si queremos dibujar o no los bordes, y dnde se ubicar la posicin actual despus de imprimir la celda (a la derecha, debajo o al principio de la siguiente lnea). Para aadir el borde, deberemos hacer esto:$pdf->Cell(40,10,'Hola, Mundo!',1);Para aadir una nueva celda a continuacin, con el texto centrado e ir a la siguiente lnea, escribiremos:$pdf->Cell(60,10,'Hecho con FPDF.',0,1,'C');Nota: el salto de lnea puede provocarse tambin medianteLn(). Este mtodo le permite especificar adems la altura del salto.

Finalmente, el documento se cierra y se enva al navegador conOutput(). Tambin podramos haberlo guardado en un fichero pasando como parmetro el nombre del archivo.

Cuidado:en caso de que el PDF se enve al navegador, nada ms debe enviarse, ni antes ni despus (el ms mnimo espacio en blanco o retorno de carro tambin cuenta). Si se enva algn dato antes, obtendr el mensaje de error: "Some data has already been output, can't send PDF file". Si se enva despus, su navegador puede que muestre nicamente una pgina en blanco.

Tutorial 2

Cabecera, pie, salto de pgina e imagenAqu tenemos un ejemplo de dos pginas con cabacera, pie de pgina y logotipo:

[Demo]Este ejemplo hace uso de los mtodosHeader()yFooter()para procesar las cabeceras y pies de pginas. Se llaman automticamente. Ya existen en la clase FPDF origuinal, pero no hacen nada. Por ello, tenemos que heredar la clase y sobreescribirlos.

El logotipo se imprime con el mtodoImage()especificando su esquina superior izquierda y su anchura. La altura se calcula automticamente respetando las proporciones de la imagen.

Para imprimir el nmero de pgina, se le pasa un valor nulo (null) como ancho de la celda. Eso significa que la celda se extender hasta el margen derecho de la pgina; puede ser til centrar el texto. El nmero actual de la pgina se devuelve por el mtodosPageNo(); mientras que el nmero total de pginas se obtiene mediante un valor especial de{nb}que ser sustituido cuando se cierre el documento (suponiendo que usted antes utilizaraAliasNbPages()).Observe el uso del mtodoSetY()que le permite especificar la posicin en una ubicacin absoluta respecto del origen de coordenadas de la pgina, empezando por el principio o por el final.

Otra caracterstica interesante se usa en el ejemplo: el salto automtico de pgina. Tan pronto como una celda cruza el lmite mximo de la pgina (a 2 cm del final, por defecto), se ejecuta un salto y se recupera la fuente. Aunque la cabecera y el pie usan su propia fuente (Arial), el cuerpo del documento continua con Times. Este mecanismo automtico de recuperacin tambin se aplica a los colores y al ancho de lnea. El lmite que fuerza los saltos de pgina puede establecerse conSetAutoPageBreak().

Tutorial 3

Saltos de lnea y coloresContinuemos con un ejemplo que imprime prrafos justificados. Tambin ilustra el uso de colores.

[Demo]El mtodoGetStringWidth()le permite determinar la longitud de una cadena en el tipo de letra actual, y se usa aqu para calcular la posicin y ancho del borde que rodea al ttulo. Despus se establecen los colores (medianteSetDrawColor(),SetFillColor()ySetTextColor()) y el borde de la lnea se establece en 1 mm (en contra de los 0,2 por defecto) conSetLineWidth(). Finalmente, imprimimos la celda (el ltimo parmetro a 1 indica que debe colorearse el fondo).

El mtodo usado para imprimir los prrafos esMultiCell(). Cada vez que la lnea llega al extremo derecho de la celda o aparece un carcter de fin de lnea, se ejecuta un salto de lnea y se crea automticamente otra celda debajo de la actual. El texto se encuentra justificado por defecto.

Se definen dos propiedades del documento: ttulo (SetTitle()) y autor (SetAuthor()). Las propiedades pueden verse de dos maneras. La primera es abrir el documento directamente con Adobe Reader, vaya al men Archivo y seleccione la opcin Propiedades del documento. La segunda, tambin disponible desde el plug-in, es hacer clic con el botn derecho y seleccione Propiedades del documento.

Tutorial 4

Columnas mltiplesEste ejemplo es una variante del anterior en el que se mostrar como disponer texto en varias columnas.

[Demo]El mtodo clave usado esAcceptPageBreak(). Permite aceptar o no el salto automtico de lnea. Evitndolo y alterando la posicin actual y el margen, se consigue la disposicin deseada en columnas.Por lo dems, poco cambia; se han aadido dos propiedades (atributos) a la clase para almacenar el nmero de columna y la posicin donde empiezan las columnas, y la llamada a MultiCell() incluye un ancho de 6 centmetros.

Tutorial 5

TablasEste tutorial se explicar como crear tablas fcilmente.

[Demo]Siendo una tabla un conjunto de celdas, lo natural es construirla de ellas. El primer ejemplo es el ms bsico posible: celdas con bordes simples, todas del mismo tamao y alineadas a la izquierda. El resultado es algo rudimentario, pero es muy rpido de conseguir.

La segunda tabla tiene algunas mejoras: cada columna tiene su propio ancho, los ttulos estn centrados y el texto se alinea a la derecha. Ms an, las lneas horizontales se han eliminado. Esto se consigue mediante el parmetroborderdel mtodoCell(), que especifica qu bordes de la celda deben imprimirse. En este caso, queremos que sean los de la izquierda (L) y los de la derecha (R). Seguimos teniendo el problema de la lnea horizontal de fin de tabla. Hay dos posibilidades: o comprobar si estamos en la ltima lnea en el bucle, en cuyo caso usaremosLRBpara el parmtroborder; o, como hemos hecho aqu, aadir la lnea una vez que el bucle ha terminado.

La tercera tabla es similar a la segunda, salvo por el uso de colores. Simplemente hemos especificado los colores de relleno, texto y lnea. El coloreado alternativo de las filas se consigue alternando celdas transparentes y coloreadas.

Tutorial 6

Enlaces y texto flotanteEste tutorial explica cmo incluir enlaces (internos y externos) y muestra una nueva manera de imprimir texto. Tambin incluye un intrprete rudimentario de HTML.


Recommended