Ver índice
Textos en PDF

        Ocultar índice  

   Índice de contenidos
   Instalación en Windows
   Instalación en Ubuntu
   Servidores seguros
   Páginas dinámicas
   Sintaxis básica
   Operaciones
   Arrays
   Formatos de presentación
   Operadores
   Bucles
   Extraer y ord. información
   Funciones
   Ficheros externos
   Imágenes dinámicas
   Gestión de directorios
   Cookies y sesiones
   Clases y objetos
   Ficheros en formato PDF
   Bases de datos MySQL
   PHP y XML
   PDO - Bases SQLite / MySQL
   MySQL a traves de misqli
   Algo de JavaScript y AJAX


Fijación de márgenes

Algunas funciones de inserción de textos permiten colocar los mismos dentro de lo que podría llamarse caja de texto que no es otra cosa que la superficie de la página delimitada por los márgenes de la misma. Por defecto, estos márgenes miden 15 milímetros, por la izquierda y por la derecha del documento y 27 y 25 milímetros por la parte superior e inferior del mismo. Así mismo, también por defecto, se establecen márgenes para encabezado y pie de página de 5 y 10 milímetros respectivamente.

Los valores de esta configuración por defecto están contenidos en constantes del fichero tcpdf_config.php. Si editamos este fichero y modificamos los valores asignado mediante la función define a las constantes cuyo nombre comienza por PDF_MARGIN_ (seguido de left, top, etcétera) podremos adecuar a nuestras necesidades los valores de esos parámetros.

También podemos hacer esas modificaciones (únicamente para el documento actual) por medio del método siguiente:

$objeto->SetMargins(izquierdo,superior,derecho )

dónde los parámetros izquierdo, superior y derecho son los valores numéricos que permiten establecer, por este orden y en la unidad de medida que se indique en el constructor, los márgenes del documento. Si se omite el tercer parámetro (derecho) se le asignará el valor que se haya indicado para el izquierdo.

Cuando se trata de establecer márgenes entre textos y bordes de celdas contenedoras (lo veremos en los métodos Cell y Multicell) puede utilizarse el método:

$objeto->SetCellPaddings( izquierda, superior, derecha, inferior)

donde izquierda, superior, derecha e inferior son, por este orden, las distancias entre texto y borde de la celda contenedora.

Si lo que pretendemos es establecer o modificar las distancias entre bordes de celdas contiguas utilizaremos el método:

$objeto->SetCellMargins( izquierda, superior, derecha, inferior)

donde izquierda, superior, derecha e inferior son, por este orden, las distancias entre dos celdas contiguas.

Margen inferior y salto de página

Por medio del método:

$objeto->SetAutoPageBreak( automatico, margen_inferior )

donde automatico es un valor booleano (1 ó 0 ) que permite activar o desactivar el salto de página automático. Cuando está activotrue o 1– se van añadiendo nuevas páginas, de forma automática, hasta que se incluya la totalidad del texto especificado. En el caso de estar desactivadofalse o 0–, los textos que excedieran los límites de la página no se visualizarían, ya que no se añadiría una nueva página. Por defecto está opción está configurada como true.

El segundo parámetro, el valor margen_inferior, permite especificar el margen inferior mínimo de la página. Su valor –numérico– deberá indicarse en las unidades establecidas por el constructor. Si no se indica asumirá cero con margen por defecto.

Tipo de letra, estilo, tamaño y colores de texto y fondo

La elección del tipo de letra puede haceres mediante la función:

$objeto->SetFont ( nombre,estilo,tamaño)

donde nombre es una cadena que debe indicar el nombre del tipo de letra (helvetica, times, zapfdingbats, courier y symbol son las fuentes incluidas en la distribución). Puedes verlas desde este enlace.

El parámetro estilo puede especificarse mediante la cadena vacía ("") para el tipo normal o mediante 'B', 'I', 'U' (negrita, cursiva, subrayada) o sus combinaciones. Por ejemplo, 'BU' indicará negrita subrayada. Las fuentes de símbolos sólo permiten el estilo normal.

Por medio del parámetro tamaño se especifica el tamaño de la letra expresado en puntos. Si no se especifica otra cosa los valores por defecto son: helvetica normal de 12 puntos.

$objeto->SetFontSize( numero )

Permite modificar unicamente el tamaño de la fuente en uso asignándole en adelante el valor en puntos especificado en numero.

$objeto->setFontSpacing ( numero )

Permite modificar en la cantidad especificada en numero la distancia entre caracteres. Por defecto su valor es 0.

$objeto->setFontStretching ( numero )

Permite estrechar la fuente al porcentaje indicado en numero. Por defecto su valor es 100.

$objeto->SetTextColor ( rojo,verde ,azul )

Establece el color del texto mediante los valores numéricos comprendidos entre 0 y 255 representan las respectivas componentes de los colores primarios rojo, verde y azul.

$objeto->SetTextColor ( negro )

En este caso, el valor numérico negro, también comprendido entre 0 y 255, establece colores de la escala de grises desde el negro (cero) hasta el blanco (255). Si no se especifica un color los textos aparecerán en negro.

Una vez establecido un color su valor se mantiente hasta que no sea invocada nuevamente la función SetTextColor para su modificación.

Una forma alternativa de utilizar los colores es la de definir un color mediante el método:

$objeto->AddSpotColor( nombre, cyan,magenta, amarillo, negro )

permite asignar mediante una cadena cualquiera un nombre a un color (por ejemplo: micolor) y los valores cyan, magenta, amarillo y negro son los valores porcentuales de cada una de las tintas en la composición del color. Siempre que se les asignen nombres distintos podrán definirse cuantos colores sean necesarios.

El uso de los colores anteriores para la impresión de textos requiere el método:

$objeto->SetTextSpotColor ( nombre, porcentaje)

donde nombre es el nombre de un color previamente creado mediante AddSpotColor y porcentaje representa el tanto por ciento de opacidad de esa tinta (100 la haría absolutamente opaca y 0 la convertiría en totalmente transparente).

Cuando se trata de asignar un color de fondo (fill) para textos, celdas o dibujos se utiliza una de estas opciones:

$objeto->SetFillColor ( rojo, verde, azul)
$objeto->SetFillColor ( negro)
$objeto->SetFillSpotColor ( nombre, porcentaje )

cuyo comportamiento es idéntico al descrito para el caso de colores de texto.

Posición actual

La clase TCPDF dispone de métodos que permiten determinar el valor actual de las coordenadas del punto de inserción (lugar donde se va a posicionar el texto, imagen o elemento gráfico que se incluya) y también modificar el valor actual de esos puntos. Son las siguientes:

$objeto->GetX()
y
$objeto->GetY()

permiten conocer los valores de la posiciones actuales, horizontal (X) y vertical (Y), del punto de inserción. El resultado estará expresado en las unidades establecidas por el constructor considerando como origen de coordenadas la esquina superior izquierda del documento y valores positivos –horizontal y vertical– los colocados a la derecha (X) y debajo (Y) del origen.

Para establecer una nuevo punto de inserción se pueden usar cualquiera de estas funciones:

$objeto->SetX(valor X)
$objeto->SetY(valor Y)
$objeto->SetXY(valor X, valor Y)

mediante las cuales estableceremos sus coordenadas: horizontal, vertical o ambas. Cuando el valor de X (en el caso SetX) es negativo se considera con referencia al margen derecho de la página. De igual modo, cuando se asigna un valor negativo en SetY se considera respecto a la parte inferior de la página.

Números de página

La numeración de las páginas de los documentos es factible ya que TCPDF dispone de métodos específicos para ello.

$objeto->getAliasNumPage()

Este método devuelve una cadena que contiene el número de la página actual.

$objeto->getAliasNbPage()()

Complementario al anterior, este método devuelve el número total de páginas del documento.

Saltos de línea

Mediante $objeto->Ln (medida) se ejecuta un salto de línea. La posición actual regresa al margen izquierdo y la vertical se desplaza en el número de unidades indicado en el parámetro medida.

Estilos de línea

Cuando se trata de establecer estilos de línea podemos recurrir a alguna de las siguientes funciones:

$objeto->SetDrawColor rojo, verde, azul )
o
$objeto->SetDrawColor ( negro )

permiten establecer el color de las líneas (bordes de celdas y otros elementos gráficos)siguiendo el mismo criterio ya comentado para rellenos y textos.

$objeto->SetDrawSpotColor ( nombre)

Igual que ocurría para textos y rellenos permite asignar a la líneas un color cuyo nombre debe haber sido definido previamente por medio de AddSpotColor.

$objeto->SetLineWidth ( espesor )

Permite establece el espesor de las líneas mediante un número que puede un número decimal que debe interpretarse expresado en las unidades de medida en uso en la página.

$objeto->SetLineStyle( $array )

Establece el estilo de una línea según los datos contenidos en un $array asociativo cuyos elementos son los siguientes:

En el ejemplo330 tienes algunas muestras de como definir estilos de línea.

Inclusón de textos en el documento

El método Write

La inclusión de textos multilínea puede hacerse utilizando el método:

$objeto-> Write ($interlinea, $texto, $enlace="", $fondo=false, $alineacion="", $nueva_linea=false)

dónde los parámetros tienen la utilidad descrita en la tabla siguiente.

ParámetroValoresUtilidad
$interlineanúmero  Permite establecer la interlínea del texto. Cuando se establecen valores inferiores a la separación mínima entre renglones desoye el mandato y estable la interlínea mínima.
$textocadena  Cadena o variable conteniendo el texto que debe incluirse mediante el método Write. Es aconsejable tomar la cautela de comprobar que la codificación del texto utiliza la misma codificación establecida por el constructor del objeto.
El texto puede extraerse de un fichero externo mediante una función que permita su lectura. Tal es el caso del file_get_contents('nombre_del_fichero_externo')
$enlacecadenaPermite incluir una cadena con una dirección URI. El texto se comportaría como un hiperenlace
$fondobooleano  Cuando este parámetro está como true el texto aparece sobre un color de fondo (puede establecerse mediante SetFillColor (negro por defecto).
$alineacionL, C, R o J  Establece la forma de alineación (izquierda, centrada, derecha o justificada) del texto respecto a la caja de texto del documento. Para que los Write consecutivos cambien de alineación hay que producir un salto de línea. Puede hacerse mediante el parámetro $nueva_linea
$nueva_lineabooleano  Cuando se establece como true el cursor se sitúa en la línea a la del último texto incluido. En caso contrario (false) se mantiene en la misma línea.


ejemplo329.php Ver código fuente

Inserción de celdas con una sola línea de texto

La forma más simple de inserción de textos bien como elementos individuales (por ejemplo títulos de una sola línea) o tablas formadas por celdas que contengan una sola línea de texto es la que utiliza el método:

$objeto->Cell ($ancho, $alto=0, $texto="", $borde=0, $salto_de_linea=0, $alineacion="", $fondo=false, $enlace="", $ajuste_horizontal=0, $ignore_min_height=false, $alin_vertical_texto='T', $alineacion_vertical='M')

que imprime un área rectangular, con fondo y bordes opcionales y que puede contener una cadena de texto que puede alinearse respecto a los bordes de la celda. La esquina superior izquierda de la celda se sitúa en la posición actual del punto de inserción. Después de ser invocado este método el punto de inserción puede desplazarse a la derecha o a la línea siguiente. El texto puede ser utilizado con un hiperenlace y, además, puede expandirse en tamaño o en espaciado para ajustarse a las dimensiones de la celda. Los parámetro que utiliza esta función, cuyos valores por defecto puedes ver detrás del nombre de cada uno de ellos, son los que comentamos en la tabla siguiente.

ParámetroValoresUtilidad
$anchonúmero  Ancho de la celda expresado unidad de medida establecida en la llamada al constructor TCPDF. Si es cero se extiende desde el punto de inserción hasta el margen derecho de la página
$altonúmero  Alto mínimo de la celda expresado en la unidad de medida establecida en la llamada al constructor. La altura de la celda se ajustará al texto contenido en ella. Si se estable altura cero la celda se adaptará a las dimensiones de su contenido
$textocadena  Cadena o variable conteniendo el texto que debe incluirse mediante el método Cell. Es aconsejable tomar la cautela de comprobar que la codificación del texto utiliza la misma codificación establecida por el constructor del objeto.
$borde0  La celda se visualizará sin bordes
1  Pertime visualizar la celda con un borde del color y ancho especificados por los métodos SetDrawColor y SetLineWidth o por las opciones poder defecto de estos (negro de 1 unidad de espesor)
'LTRB'  Esta cadena que permite, siempre que se mantenga el orden, elegir todas o varias de las letras indicadas sirve para establecer por qué parte de la de la celda se añadirán bordes. L alude a la izquierda, T a la parte superior, R a la derecha y B a la parte inferior. Por ejemplo: 'TB' dibujaría bordes por la parte superior e inferior de la celda, 'LB' los pondría por la izquierda y por debajo Y 'LRB' pondría bordes por todas partes excepto por la parte inferior.
$salto_de_linea0  Cuando no se especifica este valor o se especifica 0 (valor por defecto) se establece que el punto de inserción, después de la llamada a este método, se sitúa justamente en el borde derecho de la celda.
1  Mediante esta opción, la celda siguiente que se incluya se situará en el margen izquierdo de la página y debajo de la fila actual.
2  Cuando se indica este valor, la próxima celda que se incluya aparecerá debajo de la actual y alineada al borde izquierdo de esta.
$alineacionL, C, R o J  Establece la forma de alineación (izquierda, centrada, derecha o justificada) del texto respecto a la celda contenedora.
$fondobooleano  Cuando este parámetro está como true la caja contenedora aparece un color de fondo (puede establecerse mediante SetFillColor (negro por defecto).
$enlacecadenaPermite incluir una cadena con una dirección URI. El texto se comportaría como un hiperenlace
$ajuste_horizontal0  No realiza ningún ajuste del texto que puede desbordar el espacio delimitado por el recuadro contenedor
1  Se producirá, sólo si es necesario un estrechamiento del texto hasta lograr que quepa en el recuadro contenedor.
2  Reducirá o expandirá el ancho del texto para ajustarlo a las dimensiones del recuadro contenedor
3  Reducirá la separación entre caracteres (sin alterar el ancho de la tipografía) si resulta necesario para que quepa el texto en el marco contenedor
4  Aumenta o reduce la separación entre caracteres para ajustar el texto al marco contenedor
$ignore _min_ heightbooleano  Cuando la altura asignada a la celda es demasiado pequeña para contener el texto con la fuente establecida si este parámetro está como false (0) la altura de la celda se ajustará para contener el texto. Si esta opción está configurada como true (1) se respetará la altura de la celda y el texto aparecerá fuera de los bordes de esta.l
$alin_vertical_textoT  El borde superior del contenedor se alineará con el valor de la ordenada especificada en el parámetro y
A  El borde superior de las letras se alineará con el valor de la ordenada especificada en el parámetro y
L  La línea base de las letras se alineará con el valor de la ordenada especificada en el parámetro y
B  El borde inferior del contenedor se alineará con el valor de la ordenada especificada en el parámetro y
$alineacion_verticalT  El texto se alinea verticalmente a la parte superior del contenedor
C  El texto se alinea verticalmente al centro del contenedor
B  El texto se alinea verticalmente al borde inferior del contenedor

El punto de inserción de cada una de las celdas se establece de la forma siguiente:

ejemplo330.php Ver código fuente

  ¡Cuidado!  

Según las prestaciones del equipo que estemos utilizando y la complejidad de PDF que tratemos de generar puede aparecernos el mensaje de error: Fatal error: Maximum execution time of 30 seconds exceeded.
Esto se debe a se ha sobresado el tiempo máximo por defecto. Hay dos maneras de evitar ese error. Una de ellas sería modificar ese tiempo en fichero php.ini. La segunda sería incluir en el encabezado del script la instrucción set_time_limit(segundos) dónde segundos el nuevo límite de ejecución que tendrá únicamente validez para el documento actual.

Transformaciones en celdas

La clase TCPDF dispone de métodos que permiten efectuar transformaciones gráficas de algunos elementos entre los que se incluyen las celdas. Toda trasformación comienza con una llamada al método $objeto->StartTransform() y acaba con $objeto->StopTransform(). La estructura del código podría ser similar a esta:

$objeto->StartTransform()
     ...
     ... aplicación de las funciones de transformación
     obj->Cell(....)     Incluir la celda que será abjeto de transformación
$obj->StartTransform();

Este tipo de acciones requieren los métodos siguientes:

$objeto-> Rotate (angulo,x,y)

dónde el angulo de giro se expresa en grados sexagesimales y se mide en sentido trigonométrico y los valores de x e y son las coordenadas del centro de giro. La transformación producirá un giro de la celda respecto a su centro de giro.

o $objeto-> Rotate (angulo) o o $objeto-> Rotate (angulo, "","")

cuando no se especifica el centro de giro la transformación producirá un giro de la celda respecto a su vértice superior izquierdo. Esta función es equivalente a utilizar en la anterior, las coordenadas actuales del punto de inserción como centro de giro.

  ¡Cuidado!  

Rotate(ang,"","") y Rotate(ang,0,0) producen resultados distintos. El primero considera como centro de giro las coordenadas actuales del punto de inserción y el segundo considera que ese centro está situado en la esquina superior izquierda de la página.

$objeto-> Translate (x, y)

produce una translación de la celda desde el punto de inserción actual hasta otro punto situado x unidades a su derecha (izquierda si su valor es negativo) e y unidades hacia abajo (arriba si su valor es negativo).

$objeto-> SkewX (angulo, x, y)

transforma la celda (rectangular) en un paralelogramo inclinando los lados verticales del rectángulo original en la medida indicada por ang (también en grados sexagesimales y medido en sentido trigonómetrico) siendo el centro de la tranformación el punto de coordenadas x,y. Si se omiten estos valores considerá con centro el punto de inserción actual.

$objeto-> SkewX (angulo, x, y)

transforma la celda (rectangular) de modo similar al anterior aunque ahora los lados que sufren el cambio de orientación son los horizontales.

$objeto-> ScaleX (porcentaje, x, y), $objeto-> ScaleY (porcentaje, x, y) y $objeto-> ScaleXY (porcentaje, x, y)

son tres opciones que permiten transformar la celda modificando sus dimensiones horizontales, verticales ó ambas y sus contenidos en el porcentaje incluido como parámetro en cada una de las funciones. Las coordenas x e y corresponden al centro de la transformación. Si se omiten se tomará como tal el punto de inserción actual.

$objeto-> MirrorV (angulo, y)

transforma la celda mediante una simetría axial (como si se tratara de un espejo) cuyo eje de simetria es la recta horizontal de ordenada y. Si se omite se considerará la ordenada del punto de inserción actual

$objeto-> MirrorH (angulo, x)

transforma la celda mediante una simetría axial (como si se tratara de un espejo) cuyo eje de simetria es la recta vertical de abscisa x. Si se omite se considerará la ordenada del punto de inserción actual

$objeto-> MirrorP (angulo,x, y)

transforma la celda mediante dos simetrías axiales (como si se tratara del efecto de un espejo reflejado en otro espejo). La primera transformación ser realiza respecto a la recta vertical de abscisa x y la segunda respecto a la horizontal de ordenada x. Si se omiten se considerará la ordenada del punto de inserción actual

ejemplo331.php Ver código fuente

Celdas multilínea

La creación de celdas sin la restricción del método anterior en cuanto al número de líneas es posible mediante el método:

$obj->Multicell ($ancho, $alto, $texto, $borde=0, $alineacion='J', $fondo=false, $salto_de_linea=1, $x='', $y='', $reseth=true, $ajuste_horizontal=0, $ishtml=false, $autopadding=true, $maxh=0, $alineacion_vertical='T', $fitcell=false))

cuyas propiedades $ancho, $alto, $texto, $borde, $alineacion, $fondo, $salto_de_linea, $ajuste_horizontal y $alineacion_vertical, coinciden con los indicados para cell en la tabla anterior, siendo los restantes los que se indican en la tabla siguiente.

ParámetroValoresUtilidad
$xnúmero  Abscisa del punto de inserción expresada en las unidad de medida establecida en la llamada al constructor TCPDF
$ynúmero  Ordenada del punto de inserción expresada en las unidad de medida establecida en la llamada al constructor TCPDF
$resethBooleano  Si se establece como false la celda actual mantendrá como interlínea la altura que tuviera la celda que le precede. Caso de ser true (valor por defecto, la interlínea se establecerá automaticamente ajustándose al tamaño de la letra en uso).
La altura de la celda previa será a estos efectos la altura real de la celda después de haberle incluido el texto (si excede lo establecido en el parámetro $alto) o el valor de $alto en caso de no sobrepasar esa altura
$ishtmlBooleano  Si se establece true permite incluir textos en formato HTML. Esta opción en la versión actual de la clase presenta bastantes restricciones.
$autopaddingBooleano  Si se configura como true (1) el margen interior de la celda se ajusta de manera automática a lo establecido mediante SetCellPaddings a los cuatro bordes de la celda. Si su valor es false(0) ese ajuste de espacios se realiza únicamente respecto a los bordes izquierdo y derecho.
$maxhnúmero  Establece la altura máxima que puede tener la celda. Cuando se especifica, este valor debe ser mayor o igual que parámetro h y su valor máximo puede permitir que la celda sobrepase el margen inferior de la página. Cuando se especifica cero se desactiva la opción. Requiere que el parametro ishtml esté configurado como false
$fitcellBooleano  Si se configura como true el tamaño de la fuente puede ser reducido hasta adaptarse a las dimensiones de la celda contenedora. Requiere que esté definido $maxh con un valor distinto de cero


Sigue los mismos criterios indicados para Cell en lo relativo al posicionamiento del punto de inserción cuando se hace una llamada a este método y permite todas las transformaciones comentadas anteriormente.

ejemplo332.php Ver código fuente

Veremos ahora un ejemplo de como crear un documento a partir de un fichero de texto. En el primer ejemplo se utiliza el método Write mientras que en el segundo utilizamos Multicell aplicado un padding para modificar la estética de la presentación

ejemplo333.php Ver código fuente ejemplo334.php Ver código fuente

Convertir HTML en PDF

Cuando se trata de mantener el formato HTML en un documento pdf puede utilizarse el método (tiene algunas restricciones) siguiente:

$objeto->WriteHTML($html, $ln=true, $fondo=false, $reseth=false, $cell=false, $alineacion='')

Para que los resultados sean correctos es muy importante que el código HTML esté limpio y bien formado. De lo contrario los resultados pueden resultar muy diferentes a los deseados.

Los parámetros $fondo, $reseth y $alineacion coinciden con lo descrito en funciones anteriores. Los restantes son estos:

ParámetroValoresUtilidad
$htmlcadena  Es el texto a incluir en el documento junto con sus etiquetas HTML.
$lnbooleano  Si se establece como true agrega un salto de línea al final del texto.
$cellbooleano  Si es cierto agrega el contenido en una celda a la derecha de lo anterior


ejemplo335.php Ver código fuente

Textos multicolumna

La clase TCPDF dispone de dos métodos que permiten incluir, utilizando el método Write, textos varias columnas. Para ello es preciso establecer en número de columnas deseado utilizando la función:

$objeto->setEqualColumns(columnas, ancho)

mediante la cual se puede establecer el número de columnas deseadas y el ancho de las mismas. La función determinará de forma automática el espacio entre columnas a partir del ancho de la página (deducidos los márgenes izquierdo y derecho) y del número y ancho de las columnas. Si el ancho se estableciera de tal forma que no hubiera espacio entre columnas la propia función restringiría ese ancho a un valor máximo que permita un margen mínimo entre columnas.

Si no se especifican los parámetros columnas y ancho será considerada una sola columna cuyo ancho sería igual al espacio entre los márgenes izquierdo y derecho de la página.

Una vez definido el número y ancho de las columnas y antes de incluir textos será preciso situar el punto de inserción en la columna adecuada. Para ello la clase dispone del método siguiente:

$objeto->selectColumn(columna)

Cuando no se incluye el parámetro columna se interpreta la primera columna de la izquierda de la página. Una vez ejecutadas estas dos funciones solo faltaría insertar el texto mediante la función Write tal como puede verse en los ejemplos siguientes.

ejemplo336.php Ver código fuente ejemplo337.php Ver código fuente

Reservar espacios en páginas

Cuando se incluyen textos en documento PDF puede ser necesario reservar áreas de las páginas para incluir en ellas imágenes u otros elementos gráficos de forma similar a lo que ocurre cuando se trabaja con código HTML o con programas gráficos de autoedición

La clase TCPDF dispone de un método que permite hacer esa reserva de espacios. Es el siguiente:

$objeto->setPageRegions(array_de_regiones)

Este método debe incluirse antes de empezar a escribir nada en las páginas y requiere que se hayan definido los espaciones en blanco mediante el array_de_regiones que es un array bidimensional de esta forma:

$array_de_definiciones=Array();
$array_de_regiones[ ]=array('page' =>"pagina", 'xt' =>num, 'yt' =>num, 'xb' =>num, 'yb' =>num, 'side' =>"L")



donde page recoge en una cadena el número de la página en la que pretendemos reservar el espacio; side, que puede tomar los valores "L" (izquierda) o "R" (derecha), especifica si la reserva del espacio que pretendemos se hará en el margen izquierdo o derecho de la página. Los parámetros xt, yt, xb e yb corresponden a las coordenadas de los puntos señalados en la imagen. Si establecemos xt y xb con el mismo valor el área reservada se trasnsformará en un rectángulo. Podremos establecer y combinar las áreas que deseemos tal como puedes ver en el ejemplo.

ejemplo338.php Ver código fuente