Documentos de Académico
Documentos de Profesional
Documentos de Cultura
75 PHP. Textos Recuadrados, Tablas y Enlaces
75 PHP. Textos Recuadrados, Tablas y Enlaces
Textos recuadrados
Enlaces internos
En el ejemplo que tienes a continuación hemos insertado algunas de las opciones de las
La funcion Cell ofrece un montón funciones comentadas al margen. En los párrafos siguientes incluimos algunos comentarios
de posibilidades a la hora de sobre la manera de utilizar las funciones de inclusión enlaces internos en el documento. Esta
insertar celdas conteniendo textos. opción requiere tres pasos:
Su sintaxis es la siguiente:
<?
Valor Opción
#incluimos el fichero con la clase y definimos la variable FPDF_FONTPATH
A la derecha de la celda
0 actual
# con el mismo criterio comentado en el ejemplo anterior
include("fpdf.php");
En el margen izquierdo de la define('FPDF_FONTPATH','c:/Apache/htdocs/cursoPHP/fontsPDF/');
1 línea siguiente /* establecemos las dimensiones del documento
Debajo de la celda actual creamos un nuevo objeto y añadimos una página*/
2 alineado a su borde izquierdo $dimensiones=array (210,297);
$MiPDF=new FPDF('P','mm',$dimensiones);
# ajustamos al 100% la visualización
Por medio del parámetro p se $MiPDF->SetDisplayMode('real');
puede establecer la alineación del
texto (contenido en la celda) #insertamos una página en blanco
respecto a sus bordes. Permite $MiPDF->Addpage();
usar L, C y R como indicadores de # estableceremos los colores para bordes, fondos y textos
alineaciones del texto a la
# color de borde
izquierda, centro ó derecha.
$MiPDF->SetDrawColor(255,0,0);
El parámetro r es un valor # color del relleno (gris)
booleano (1 ó 0) que especifica si $MiPDF->SetFillColor(200);
la celda ha de rellenarse con un # color del texto
color de fondo (1) o ha de ser $MiPDF->SetTextColor(0,0,255);
transparente (0). # establecemos espesores de lineas y tipo y tamaño de letra
# espesor de linea 1 milimetro
El parámetro e -es opcional-
$MiPDF->SetLineWidth(1);
permite establecer la celda como
un hiperenlace.
# fuente y tamaño: Arial, negrita de 12 puntos
Si se especifica una URL se $MiPDF->SetFont("Arial","B",12);
establecerá un enlace a la misma # establecemos el texto para la primera celda
y, además, es posible establecer $celda1="Esto irá en la celda 1";
enlaces internos de la forma que # determinamos el tamaño de esta cadena y lo recogemos
puedes ver comentada en el # en la variable ancho
ejemplo. $ancho=$MiPDF->GetStringWidth($celda1);
/* definimos la celda estableciendo:
Tamaño de ancho--- igual al de la cadena que va a contener + 6 mm.
una cadena de texto alto --- 6 milimetros
texto--- el contenido de la variable $celda1
borde--- 1 (para que ponga los cuatro bordes
La función:
celda siguiente--- 0 (para que la incluya a continuación de la actual)
$obj->GetStringWidth('cad') alineación --- C para que centre el texto en la celda horizontalmente
relleno --- 1 para que aplique el fondo a la celda
devuelve un número decimal que enlace--- pondremos un enlace al buscador google */
indica la longitud de la cadena
indicada en cad con la fuente y # como aun no hemos insertaod ningún elemento en la página
tamaño de letra actuales. Es una # la celda aparecerá en la parte superior de la página y apoyada
función muy útil para dimensionar # sobre su borde izquierdo
las celdas de modo que los textos
que contienen no sobrepasen sus $MiPDF->Cell($ancho+6,6,$celda1,1,0,C,1,"http://www.google.com");
bordes.
/* pero modificando insertamos una nueva celda con el mismo contenido
Espesor de líneas modificando:
bordes--- ahora los pondremos solo por la parte superior T e inferior B
Puede especificarse el grosor de posicion de la siguiente celda: 2 (inmediatamente debajo)
las líneas -en los elementos relleno --0 */
gráficos que las utilizan # la nueva inserción se realizará a la derecha de la anterior
(rectángulos, celdas, etcétera)- # ya que así lo especificamos al definir allí la celda siguiente
mediante la función: $MiPDF->Cell($ancho+6,6,$celda1,TB,2,C,0,"http://www.google.com");
$obj->SetLineWidth('grosor')
# cambiamos el color del borde y el del relleno
dónde grosor es un valor # color de borde
numérico que especifica el espesor $MiPDF->SetDrawColor(255,255,0);
de las líneas en las unidades # color del relleno (gris)
asignadas en el constructor. Por $MiPDF->SetFillColor(0,255,255);
defecto -si no se asigna espesor
mediante esta función- el ancho de /* una nueva inserción de una celda similar modificando
línea sería de 0,2 milímetros. identica a la primera celda salvo el parámetro de posición
de la celda siguiente que cambiamos a 1 para que la celda
Números de página siguiente aparezca en el margen izquierdo del documento.
La actual, aparecerá inmediatamente debajo de la anterior
La función:
ya que se así se especificó en su Cell correspondiente */
$obj->PageNo() $MiPDF->Cell($ancho+6,6,$celda1,1,1,C,1,"http://www.google.com");
devuelve el número de la página # la misma función anterior que ahora debería aparecer en el margen izquierdo
actual. # modificando la especificación para que inserte la potencial celda siguiente
# inmediatamente a la derecha
Color de las líneas
$MiPDF->Cell($ancho+6,6,$celda1,1,0,C,1,"http://www.google.com");
También es posible establecer el
color de las líneas mediante la # insertamos un salto de línea de 10 mm.
función: $MiPDF->Ln(10);
# una nueva celda que por efecto del salto de linea
$obj->SetDrawColor('R,G,B') # perdería la referencia de situarse a la derecha de la anterior
# se desplazaría 10 unidades hacia abajo y se insertaría en el margen
dónde R,G,B son valores
izquierdo
númericos comprendidos entre 0 y
255 que asignan los valores de las $MiPDF->Cell($ancho+6,6,$celda1,1,0,C,1,"http://www.google.com");
componentes de los colores
primarios rojo, verde y azul # modificaremos ahora el punto de inserción mediante SetXY a las coordenadas
respectivamente. Si se incluye un # -100, -120 mm. valores negativos
único parámetro será interpretado # con lo cual las referencias serán al margen derecho y al inferior
como escala de grises. El valor 0
sería el negro y 255 representaría $MiPDF->SetXY(-100,-120);
el blanco.
# vamos a crear un enlace interno mediante la función AddLink()
Color de relleno # y vamos a recoger el resultado en la variable $salta
$salta=$MiPDF->AddLink();
Algunos elementos gráficos (celdas
# estableceremos la referencia del enlace
de texto, rectángulos) permiten $MiPDF->SetLink($salta,0,2);
que se les aplique un color de # crearemos ahora una zona (transparente) de enlace
fondo. Para establecer tal color # será el rectangulo definido como parámetros en la la función Link
basta con ejecutar la función: # es decir un rectango de 297mm. de ancho, 30 de alto
# que tendrá su esquina superior izquierda en el punto (0,40)
$obj->SetFillColor('R,G,B') # este enlace nos llevará al lugar del documento
# que se especifique mediante SetLink($salta);
El criterio de asignación de colores
es idéntico al del párrafo anterior. # que indi
$MiPDF->Link(0,40,297,30,$salta);
Una vez asignado un color de #comprobemos que allí se inserta el texto mediante el cell correspondiente
relleno (lo mismo ocurre con los $MiPDF->Cell($ancho+6,6,$celda1,1,0,C,1,$salta);
colores y espesores de línea) se
mantiene a lo largo del documento # insertemos un salto de página y comprobemos la función nº de pagina
en tanto no sea modificado por la $MiPDF->Addpage();
ejecución del método con unos #añadimos a la cadena de texto el valor del número de pagina actual
parámetros distintos.
$MiPDF->Cell(50,6,"pagina nº".$MiPDF->PageNo(),1,0,C,1);
# activamos el valor por defecto del señalados de número total de páginas
Número de páginas del # al no incluir nada como parámetro de la funcion AliasNbPages();
documento # deberemos recurri al señalador por defecto {nb}
$MiPDF->AliasNbPages();
La clase FPDF incluye la posibilidad # insertamos una nueva celda y añadimos a la cadena de texto
de determinar el número total de # anterior "de {nb}". Como puedes ver
páginas del documento. Para ello # el señalador {nb} forma parte de la cadena como un texto más
es preciso ejecutar (después de $MiPDF->Cell(50,6,"pagina nº ".$MiPDF->PageNo()." de {nb}",1,0,C,1);
crear el objeto) la función:
$MiPDF->Output();
$obj ->AliasNbPages('idn')
?>
donde idn es una palabra
cualquiera. Si se omite se
Ejemplo138.php
considerará su valor por defecto
que es: {nb}.