X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/409294316ffb829e4fb995ce023b7ca279204771..4e2b23709b38cf3c27379a4051243b1ac93bd1f2:/lib/MECON/PDF/Texto.php diff --git a/lib/MECON/PDF/Texto.php b/lib/MECON/PDF/Texto.php index b108662..2363af1 100644 --- a/lib/MECON/PDF/Texto.php +++ b/lib/MECON/PDF/Texto.php @@ -56,6 +56,50 @@ class MECON_PDF_Texto extends MECON_PDF_Contenido { 'height' => 8, 'align' => 'left' ); + + /** + * Orientacion de las nuevas paginas + * @var string $orientacion + * @access protected + */ + var $_orientacion; + + /** + * Indica si el encabezado debe ir en la nuevas paginas. + * @var bool $encabezado + * @access protected; + */ + var $_encabezado; + + /** + * Class Constructor. + * + * @param string $orientacion Orientacion que tendran las nuevas paginas que + * esta clase genere. + * @param bool $encabezado Indica si las paginas nuevas que genere esta + * clase tendran el encabezado de MECON_PDF_Marco. + * + * @return void + * @access public + */ + function MECON_PDF_Texto($orientacion = null, $encabezado = true) { + $this->_orientacion = $orientacion; + $this->_encabezado = $encabezado; + } + + /** + * Funcion que se encarga de crear las nuevas paginas. + * + * @param &Object $MARCO MECON_PDF_Marco + * + * @return void + * @access protected + */ + function _newPage(&$MARCO) { + $tmp = ($this->_orientacion) ? $this->_orientacion : + $MARCO->getOrientation(); + $MARCO->newPage($MARCO->tamanio, $tmp, $this->_encabezado); + } /** * Funcion que agrega el contenido del texto al PDF. @@ -68,10 +112,12 @@ class MECON_PDF_Texto extends MECON_PDF_Contenido { function toPDF(&$MARCO) { $alto = $MARCO->espacioDisponible; if ($alto <= 0 ) { - $MARCO->newPage($MARCO->tamanio); + $this->_newPage($MARCO); $alto = $MARCO->espacioDisponible; } - $ancho_pagina = $MARCO->getWidth($MARCO->orientacion); + + $ancho_pagina = $MARCO->getWidth($MARCO->refPage(),$MARCO->getOrientation()); + $orientacion = $MARCO->getOrientation(); for ($i=0; $i < count($this->_parrafos); $i++) { if (@!$this->_estilos[$i]) { @@ -85,7 +131,7 @@ class MECON_PDF_Texto extends MECON_PDF_Contenido { $alto -= $this->_estilos[$i]['height']; if ($alto <= 0) { - $MARCO->newPage($MARCO->tamanio); + $this->_newPage($MARCO); $alto = $MARCO->espacioDisponible; } @@ -103,7 +149,7 @@ class MECON_PDF_Texto extends MECON_PDF_Contenido { $MARCO->addText($init, $alto + 2, - $t, $this->_estilos[$i], null, $MARCO->orientacion); + $t, $this->_estilos[$i], null, $orientacion); } @@ -135,7 +181,12 @@ class MECON_PDF_Texto extends MECON_PDF_Contenido { //sean parrafos. $c = split ("\n", $c); foreach ($c as $tmp) { - $this->_parrafos[] = $tmp; + if ($tmp) { + $this->_parrafos[] = $tmp; + } + else { + $this->_parrafos[] = ' '; + } } } } @@ -199,7 +250,12 @@ class MECON_PDF_Texto extends MECON_PDF_Contenido { * @return void */ function updateEstilo($pos, $estilo) { - $this->_estilos[$pos] = array_merge($this->_estilos[$pos], $estilo); + if (@$this->_estilos[$pos]) { + $this->_estilos[$pos] = array_merge($this->_estilos[$pos], $estilo); + } + else { + $this->setEstilo($pos, array_merge($this->_estilo_defecto, $estilo)); + } } /** @@ -226,5 +282,15 @@ class MECON_PDF_Texto extends MECON_PDF_Contenido { function setEstilo($pos, $estilo) { $this->_estilos[$pos] = $estilo; } + + /** + * Funcion que devuelve el numero de parrafos que hay cargados. + * + * @access public + * @return int + */ + function cantParrafos() { + return count($this->_parrafos); + } } ?> \ No newline at end of file