Manual FPDF
Manual FPDF
Manual FPDF
AddPage - aade una nueva pgina AliasNbPages - define un alias para el nmero de pginas Cell - imprime un celda Close - termina el documento Error - error fatal Footer - pie de pgina FPDF - constructor GetStringWidth - calcula la longitud de la cadena GetX - obtiene la posicin actual de x GetY - obtiene la posicin actual de y Header - cabecera de pgina Image - imprime una imagen Line - dibuja un lnea Link - pone una referencia Ln - salto de lnea MultiCell - imprime texto con saltos de lnea Output - guarda o enva el documento PageNo - nmero de pgina Rect - dibuja un rectangulo SetAuthor - establece el autor del documento SetAutoPageBreak - establece el modo de salto de pagina automtico SetCompression - cambia la compresin en activo o inactivo SetCreator - establece el creador del documento SetDisplayMode - establece el modo de presentacin SetDrawColor - establece el color de graficacin SetFillColor - establece el color de relleno SetFont - establece la fuente SetFontSize - establece el tamao de la fuente SetKeywords - asocia las palabras claves con el documento SetLeftMargin - establece el mrgen izquierdo SetLineWidth - establece el ancho de la lnea SetLink - establece el enlace de destino SetMargins - establece los mrgenes SetRightMargin - establece el mrgen derecho SetSubject - establece el tema del documento SetTextColor - establece el color del texto SetTitle - establece el ttulo del documento SetTopMargin - Establece el mrgen superior SetX - establece la posicin actual de x SetXY - establece la posicin actual de x y y SetY - establece la posicin actual de y
AcceptPageBreak
boolean AcceptPageBreak()
Descripcin
En cualquier momento que un salto de pgina es encontrado, es invocado el mtodo, y el salto es emitido o no dependiendo del valor retornado. La implementacin por defecto retorna un valor de acuerdo a el modo seleccionado por SetAutoPageBreak(). Este mtodo es invocado automticamente y no debera ser llamado directamente por la aplicacin.
Ejemplo
El mtodo es anulado por una clase heredada con el propsito de obtener un diseo de tres columnas.
class PDF extends FPDF { var $col = 0; function SetCol($col) { // Move position to a column $this->col = $col; $x = 10+$col*65; $this->SetLeftMargin($x); $this->SetX($x); } function AcceptPageBreak() { if($this->col<2) { // Go to next column $this->SetCol($this->col+1); $this->SetY(10); return false; } else { // Regrese a la primera columna y emita un salto de pgina $this->SetCol(0); return true; } } } $pdf = new PDF(); $pdf->AddPage(); $pdf->SetFont('Arial','',12); for($i=1;$i<=300;$i++)
AddFont
AddFont(string family [, string style [, string file]])
Descripcin
Importa una fuente TrueType, OpenType o Type1 y la hace disponible. Es necesario primero generar un archivo de definicin de fuente con la utilidad MakeFont. El archivo de definicin (y el archivo de fuente mismo cuando es incorporado) debe estar presente en el directorio de fuentes. Si no puede ser encontrado, es generado el error "Could not include font definition file".
Parmetros
family
cadena vaca: regular B: bold (negrita) I: italic (cursiva) BI o IB: bold italic (negrita cursiva)
El archivo de definicin de fuente. Por defecto, el nombre es compuesto de la familia y estilo de fuente, en minsculas y sin espacios.
Ejemplo
$pdf->AddFont('Comic','I');
es equivalente a:
$pdf->AddFont('Comic','I','comici.php');
AddLink
int AddLink()
Descripcin
Crea un nueva referencia interna y retorna su identificador. Una referencia interna es un rea seleccionable la cual lo dirige a otro lugar dentro del documento. Entonces, el identificador puede ser pasado a Cell(), Write(), Image() o Link(). El destino se define con SetLink().
AddPage
AddPage([string orientation [, mixed size]])
Descripcin
Aade una nueva pgina al documento. Si la pgina ya est presente, el mtodo Footer() es invocado primero para producir el pie de pgina. Entonces es aadida la pgina, la posicin actual se establece en la esquina superior izquierda de acuerdo a los mrgenes izquierda y superior, y el Header() es invocado para mostrar el encabezado. La fuente que fue fijada antes de ser invocada es restaurada automticamente. No es necesario invocar nuevamente SetFont() si desea continuar con la misma fuente. Esto tambin se aplica para colores y ancho de lneas. El origen del sistema de coordenadas es la esquina superior izquierda y se incrementan hacia abajo.
Parmetros
orientation
Formato de pgina. Puede ser uno de los siguientes valores (indiferente a maysculas):
A3 A4
A5 Letter Legal
o un array conteniendo el ancho y el alto (en unidades definidas por el usuario). El valor por defecto es el que fue pasado al constructor.
AliasNbPages
AliasNbPages([string alias])
Descripcin
Define un alias para el nmero total de pginas. Se sustituira en el momento que el documento se cierre.
Parmetros
alias
Ejemplo
class PDF extends FPDF { function Footer() { // Go to 1.5 cm from bottom $this->SetY(-15); // Select Arial italic 8 $this->SetFont('Arial','I',8); // Print current and total page numbers $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C'); } } $pdf = new PDF(); $pdf->AliasNbPages();
Cell
Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, boolean fill [, mixed link]]]]]]])
Descripcin
Imprime una celda (de rea rectangular) bordes opcionales, color de fondo y secuencia de carcteres La esquina superior izquierda de la celda corresponde a la posicin actual. El texto puede ser alineado o centrado. Despues de invocar, la posicin actual se desplaza a la derecha o la siguietne lnea. Es posible poner una referencia en el texto. Si esta el salto de pgina automtico habilitado y la celda esta por fuera del lmite, es realizado un salto de pgina antes de producir la salida.
Parmetros
w
Indica si los bordes deben se dibujados alrededor de la celda. El valor puede ser un nmero:
0: 1:
o una cadena que contenga una o una combinacin de los siguientes caracteres (en cualquier orden):
L: T: R: B:
Indica donde la posicin actula debera ir antes de invocar. Los valores posibles son:
0: 1: 2:
Poner 1 es equivalente a poner 0 y llamar justo despues Ln(). Valor por defecto: 0.
align
fill
R:
alineacin derecha
Indica si elfondo de la celda debe ser dibujada (true) o transparente (false). Valor por defecto: false.
link
Ejemplo
// Set font $pdf->SetFont('Arial','B',16); // Move to 8 cm to the right $pdf->Cell(80); // Texto centrado en una celda con cuadro 20*10 mm y salto de lnea $pdf->Cell(20,10,'Title',1,1,'C');
Close
Close()
Descripcin
Termina el documento pdf. No es necesario llamar explicitamente este mtodo debido a que Output() lo hace de forma automtica. Si el documento no contiene pginas, es invocado AddPage() para prevenir obtener un documento invlido.
Error
Error(string msg)
Descripcin
Este mtodo es automticamente invocado en caso de un error fatal; este simplemte emite el mensaje y para la ejecucin. Una clase heredada puede anularlo para personalizar el manejo de errores pero siempre debera parar el script, o el resultado probablemente sera no vlido.
Parmetros
msg
El mensaje de error.
Footer
Footer()
Descripcin
Este mtodo es usado para generar el pie de pgina. Es automticamente invocado por AddPage() y Close() y no sebera ser invocado directamente por la aplicacin. La implementacin en FPDF es vacia, as que si desea un procesamiento especfico debe hacer subclase y sobreescribir el mtodo.
Ejemplo
class PDF extends FPDF { function Footer() { // Go to 1.5 cm from bottom $this->SetY(-15); // Select Arial italic 8 $this->SetFont('Arial','I',8); // Print centered page number $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C'); } }
FPDF
FPDF([string orientation [, string unit [, mixed size]]])
Descripcin
Esta es la clase constructor. Permite establecer el formato de pgina, la orientacin y la unidad de medida usada en todos los mtodos (excepto para tamaos de fuentes).
Parmetros
orientation
Orientacin de pgina por defecto. Los posibles valores son (indiferente a maysculas):
P L
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 comn en tipografa; los tamaos de fuentes son expresados en esa unidad. Valor por defecto es mm.
size
El formato usado por las pginas. Es puede ser uno de los siguientes valores (indiferente a maysculas):
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.
GetStringWidth
float GetStringWidth(string s)
Descripcin
Devuelve la longitud de una cadena en la unidad del usuario. Una fuente debe ser seleccionada.
Parmetros
s
GetX
float GetX()
Descripcin
Retorna la abscisa de la posicin actual.
GetY
float GetY()
Descripcin
Retorna la ordenada de la posicin actual.
Header
Header()
Descripcin
Este mtodo es usado para generar la cabecera de pgina. Es automticamente invocada por AddPage() y no deberia ser invocada directamente en la aplicacin. La implementacin en FPDF es vacia, asi que si desea un procesamiento especifico debe generar una subclase y sobreescribir el mtodo.
Ejemplo
class PDF extends FPDF { function Header() { // Select Arial bold 15 $this->SetFont('Arial','B',15); // Move to the right
Image
Image(string file [, float x [, float y [, float w [, float h [, string type [, mixed link]]]]]])
Descripcin
Imprime una imagen en la pgina. Las dimensiones pueden establecerse de diferentes maneras:
mediante la especificacin explcita de ancho y alto (en unidades definidas por el usuario o en ppp) mediante la indicacin de una sola de las dimensiones: la otra se calcular automticamente para mantener la proporcin original sin indicar ninguna dimensin explcita. En este caso, la imagen se imprime a 96 puntos por pulgada
Los formatos admitidos son JPEG, PNG y GIF. La extensin GD es necesaria para GIF. Para el JPEG, se admiten todas sus versiones:
escala de grises de 8 bits como mximo (256 niveles) color indexado color verdadero (24 bits)
Para el GIF: en el caso de un GIF animado, slo ser mostrado el primer fotograma. Se admite transparencias. El formato puede ser especificado explcitamente o deducido a partir de la extensin del fichero.
Es posible asociar un enlace a la imagen. Nota: si una imagen se utiliza varias veces, slo una copia ser incrustada en el archivo.
Parmetros
file
Abscisa de la esquina superior izquierda. Si no se especifica o es igual a null, se utilizar la abscisa actual.
y
Ordenada de la esquina superior izquierda. Si no se especifica o es igual a null, se utilizar la ordenada actual, adems, un salto de pgina es invocado primero si es necesario (en caso de que est habilitado el salto de pgina automtico) y, despus de la llamada, la ordenada actual se mueve a la parte inferior de la imagen.
w
Si el valor es positivo, ste ser el ancho en la unidad de medida definida por el usuario. Si el valor es negativo, el valor absoluto ser la resolucin horizontal en ppp. Si no se especifica o es cero, se calcula automticamente
Si el valor es positivo, ste ser la altura en la unidad de medida definida por el usuario. Si el valor es negativo, el valor absoluto ser la resolucin vertical en ppp. Si no se especifica o es cero, se calcula automticamente
Formato de la imagen. Los posibles valores son (indiferente a maysculas): JPG, JPEG, PNG y GIF. Si no se especifica, el tipo se deduce de la extensin del fichero.
link
Ejemplo
// Inserta un logo en la esquina superior izquierda a 300 ppp $pdf->Image('logo.png',10,10,-300); // Inserta una imagen dinmica a travs de una URL $pdf>Image('http://chart.googleapis.com/chart?cht=p3&chd=t:60,40&chs=250x100& chl=Hello|World',60,30,90,0,'PNG');
Line
Line(float x1, float y1, float x2, float y2)
Descripcin
Traza una lnea entre dos puntos.
Parmetros
x1
Link
Link(float x, float y, float w, float h, mixed link)
Descripcin
Pone una referencia a un rea rectangular de la pgina. El texto o la imagen referenciada son generalmente puesta via Cell(), Write() o Image(), pero este mtodo puede ser til por ejemplo para definir un rea seleccionable dentro una imagen.
Parmetros
x
Ln
Ln([float h])
Descripcin
Ejecuta un salto de lnea. La abscisa actual regresa al mrgen izquierdo y la ordenada aumenta en la cantidad pasada como parmetro.
Parmetros
h
La altura del salto. Por defecto, el valor es igual a la altura de la ltima celda impresa.
MultiCell
MultiCell(float w, float h, string txt [, mixed border [, string align [, boolean fill]]])
Descripcin
Este mtodo permite imprimir texto con saltos de lnea. Estos pueden ser automticos (tan pronto como el texto alcanza el borde derecho de la celda) o explcito (via el carcter \n). Tantas celdas como sean necesarias son creadas, uno debajo de otra. El texto puede ser alineado, centrado o justificado. El bloque de celda puede ser enmarcado y el fondo impreso.
Parmetros
w
Indica si los bordes deben ser dibujados al rededor del bloque la celda. El valor puede ser un nmero:
0: 1:
no borde marco
o una cadena conteniendo algn o todos los siguientes carcteres (en cualquier orden):
L: T: R: B:
Indica si el fondo de la celda debe ser dibujado (true) o transparente (false). Valor por defecto: false.
Output
string Output([string name, string dest])
Descripcin
Enva el documento a un destino dado: una cadena, un fichero local o al navegador. En el ltimo caso, puede utilizarse la extensin -plug in- (si existe) o forzarse un cuadro de dilogo de descarga. El mtodo invoca ante todo a Close() si es necesario cerrar el documento.
Parmetros
name
El nombre del fichero. Si no se especifica, el documento se enva al navegador (destino I) con el nombre doc.pdf.
dest
Destino al que enviar el documento. Puede tener uno de los siguientes valores:
I:
enva el fichero al navegador de forma que se usa la extensin (plug in) si est disponible. El nombre dado en nombre se usa si el usuario escoge la opcin "Guardar como..." en el enlace que genera el PDF. D: enva 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.
PageNo
int PageNo()
Descripcin
Devuelve el nmero de pgina actual.
Rect
Rect(float x, float y, float w, float h [, string style])
Descripcin
Produce un rectngulo. Este puede ser dibujado (solamente el borde), relleno (sin borde) o ambos.
Parmetros
x
Ancho.
h
Alto.
style
SetAuthor
SetAuthor(string author [, boolean isUTF8])
Descripcin
Define el autor del documento.
Parmetros
author
Indica si la cadena est codificada en la norma ISO-8859-1 (false) o UTF-8 (true). Valor por defecto: false.
SetAutoPageBreak
SetAutoPageBreak(boolean auto [, float margin])
Descripcin
Activa o desactiva el modo de salto de pgina automtico. Cuando es habilitado, el segundo parmetro es la distancia de la parte inferior de la pgina que define al lmite desencadenante. Por defecto, el modo esta activado y el mrgen es 2cm.
Parmetros
auto
SetCompression
SetCompression(boolean compress)
Descripcin
Activa o desactiva la compresion de pgina. Cuando esta activada, la representacin de cada pgina es comprimida, lo cual da una razn de compresin de cerca de 2 para el documento resultante. La compresin esta en activo por defecto. Nota: la extensin Zlib se requiere para esta caracterstica. Si no esta presente se cambiar a inactiva.
Parmetros
compress
SetCreator
SetCreator(string creator [, boolean isUTF8])
Descripcin
Define el creador de el documento. Este es tpicamente el nombre de la aplicacin que genera el pdf.
Parmetros
creator
Indica si la cadena est codificada en la norma ISO-8859-1 (false) o UTF-8 (true). Valor por defecto: false.
SetDisplayMode
SetDisplayMode(mixed zoom [, string layout])
Descripcin
Define la forma como el documento es presentado al espectador. El nivel de acercamiento puede ser establecido: la pginas pueden ser presentadas completamente en pantalla, ocupar todo el ancho de la ventana, usar el tamao real, ser graduado por un factor especfico de acercamiento o usar el visor por defecto (configurado en el men de Preferencias de Adobe Reader). El esquema de la pgina puede ser tambin especificado: sencillo al mismo tiempo, despliegue continuo, dos columnas o por defecto el visor.
Parmetros
zoom
de 100% )
SetDrawColor
SetDrawColor(int r [, int g, int b])
Descripcin
Define el color usado para las operaciones de graficacin (lineas, rectangulos, y bordes de celdas ). Este puede ser expresado en componentes RGB o en escala de grises. El mtodo puede ser invocado antes de que la primera pgina sea creada y el valor sea conservado de pgina a pgina.
Parmetros
r
Si g y b son suministrados, componente rojo; si no, si no indica nivel de grises. Valores entre 0 y 255.
g
SetFillColor
SetFillColor(int r [, int g, int b])
Descripcin
Define el color usado por todas las operaciones de relleno (rectngulos rellenos y fondos de celdas). Este puede ser expresado en componentes RGB o escala de grises. El mtodo puede ser invocado antes que la primera pgina sea creada y el valor es conservado de pgina a pgina.
Parmetros
r
Si g y b se establecen, componente rojo; si no, indica el nivel de gris. Valor entre 0 y 255.
g
SetFont
SetFont(string family [, string style [, float size]])
Descripcin
Establece la fuente usada para imprimir cadenas de carcteres. Es obligatorio invocar este mtodo por lo menos una vez antes de imprimir texto o el documento resultante no ser vlido. La fuente puede ser una estndar o una adicionada via el mtodo AddFont(). La fuentes estndar usan codificacin cp1252 (Western Europe) de Windows. El mtodo puede ser invocado antes que la primera pgina sea creada y es mantenido de
pgina a pgina. Si slo desea cambiar el tamao de la fuente actual, es ms simple invocar SetFontSize(). Nota: los archivos de definicin de fuente deben ser accesibles. Se buscan en este orden:
El directorio especificado por la constante FPDF_FONTPATH (si es que ha sido definida) El directorio de fuentes incluido en el directorio que contiene fpdf.php (si es que existe) Cualquier directorio accesible mediante include()
Si el archivo correspondiente a la fuente requerida no es encuentra, se genera el error "Could not include font definition file".
Parmetros
family
Familia de fuente. Puede ser un nombre definido por AddFont() o una de las familias estndar (no sensible a maysculas o minsculas):
Courier (fixed-width) Helvetica o Arial (sinnimo; Times (serif) Symbol (symbolic) ZapfDingbats (symbolic)
sans serif)
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 maysculas o minsculas):
o cualquier combinacin. El valor por defecto es regular. Los estilos Bold e italic no aplican para Symbol y ZapfDingbats.
size
Tamao de fuente en puntos. El valor por defecto es el tamao actual. Si ningn tamao ha sido especificado desde el comienzo del documento, toma el valor de 12.
Ejemplo
// 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');
SetFontSize
SetFontSize(float size)
Descripcin
Define el tamao de la fuente actual.
Parmetros
size
SetKeywords
SetKeywords(string keywords [, boolean isUTF8])
Descripcin
Asocia las palabras claves con el documento, generalmente en la forma de 'palabra_clave1 palabra_clave2 ...'.
Parmetros
keywords
Indica si la cadena est codificada en la norma ISO-8859-1 (false) o UTF-8 (true). Valor por defecto: false.
SetLeftMargin
SetLeftMargin(float margin)
Descripcin
Define el mrgen izquierdo. El mtodo puede ser invocado antes de la creacin de la primera pgina. Si la abscisa actual esta fuera del rango de la pgina, esta es traida a la margen.
Parmetros
margin
El mrgen.
SetLineWidth
SetLineWidth(float width)
Descripcin
Define el ancho de la lnea. Por defecto, el valor es igual a 0.2 mm. El mtodo puede ser llamado antes de la creacin de la primera pgina y el valor es retenido de pgina a pgina.
Parmetros
width
El ancho.
SetLink
SetLink(int link [, float y [, int page]])
Descripcin
Define la pgina y posicin al que un enlace hace referencia.
Parmetros
link
La ordenada de la posicin objetivo; -1 indica la posicin actual. El valor por defecto es 0 (parte superior de la pgina).
page
El nmero de la pgina referenciada; -1 indica la pgina actual. Este es el valor por defecto.
SetMargins
SetMargins(float left, float top [, float right])
Descripcin
Define los mrgenes izquierdo, superior, y derecho. Por defecto, son iguales a 1 cm. Invoque este mtodo para cambiarlas.
Parmetros
left
Mrgen izquierdo.
top
Mrgen superior.
right
SetRightMargin
SetRightMargin(float margin)
Descripcin
Define el mrgen derecho. El mtodo puede ser invocado antes de la creacin de la primera pgina.
Parmetros
margin
El mrgen.
SetSubject
SetSubject(string subject [, boolean isUTF8])
Descripcin
Define el tema del documento.
Parmetros
subject
El tema.
isUTF8
Indica si la cadena est codificada en la norma ISO-8859-1 (false) o UTF-8 (true). Valor por defecto: false.
SetTextColor
SetTextColor(int r [, int g, int b])
Descripcin
Define el color usado por el texto. Este puede ser expresado en componentes RGB o escala de grises. El mtodo puede ser invocado antes que la primera pgina sea creada y el valor es retenido de pgina a pgina.
Parmetros
r
Si g y b son suministrados, componente rojo; si no, indica el nivel de grises. Valor entre 0 y 255.
g
SetTitle
SetTitle(string title [, boolean isUTF8])
Descripcin
Define el ttulo de el documento.
Parmetros
title
El ttulo.
isUTF8
Indica si la cadena est codificada en la norma ISO-8859-1 (false) o UTF-8 (true). Valor por defecto: false.
SetTopMargin
SetTopMargin(float margin)
Descripcin
Define el mrgen superior. El mtodo puede ser invocado antes de la creacin de la primera pgina.
Parmetros
margin
El mrgen.
SetX
SetX(float x)
Descripcin
Define la abscisa de la posicin actual. Si el valor pasado es negativo, esta es relativa a la derecha de la pgina.
Parmetros
x
El valor de la abscisa.
SetXY
SetXY(float x, float y)
Descripcin
Define la abscisa y ordenada de la posicin actual. Si los valores pasados son negativos, ellos son relativos respectivamente a la derecha y la parte inferior de la pgina.
Parmetros
x
El valor de la abscisa.
y
El valor de la ordenada.
SetXY
SetXY(float x, float y)
Descripcin
Define la abscisa y ordenada de la posicin actual. Si los valores pasados son negativos, ellos son relativos respectivamente a la derecha y la parte inferior de la pgina.
Parmetros
x
El valor de la abscisa.
y
El valor de la ordenada.
SetY
SetY(float y)
Descripcin
Mueve la abscisa actual de regreso al mrgen izquierdo y establece la ordenada. Si el valor pasado es negativo, esta es relativa a la parte inferior de la pgina.
Parmetros
y
El valor de la ordenada.
Text
Text(float x, float y, string txt)
Descripcin
Imprime una cadena de carcteres. El origen es a la izquierda del primer carcter, sobre la lnea base. Este mtodo permite colocar una cadena precisamente en la pgina, pero es usualmente ms fcil usar Cell(), MultiCell() o Write() los cuales son los mtodos estndades para imprimir texto.
Parmetros
x
Write
Write(float h, string txt [, mixed link])
Descripcin
Este mtodo imprime el texto desde la posicin actual. Cuando el mrgen derecho es alcanzado (o el carcter \n es alcanzado) se produce un salto de lnea y el texto continua desde el mrgen izquierdo. Una ves el mtodo termine, la posicin actual es dejada justo al final del texto. Es posible poner una referencia sobre el texto.
Parmetros
h
Alto de lnea.
txt
Ejemplo
// Comienza con fuente regular $pdf->SetFont('Arial','',14); $pdf->Write(5,'Visit '); // Then put a blue underlined link $pdf->SetTextColor(0,0,255); $pdf->SetFont('','U'); $pdf->Write(5,'www.fpdf.org','http://www.fpdf.org');