]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/PDF/Texto.php
MECON_PDF_Imagen finalizado. Falta probarlo y hacer un codigo mas leible.
[mecon/meconlib.git] / lib / MECON / PDF / Texto.php
index 780b5cf07fda9709f9cd998c70a10bd278db8f40..82100eaa9d36f52bcb23df91ad67c737ea267c46 100644 (file)
@@ -63,18 +63,28 @@ class MECON_PDF_Texto extends MECON_PDF_Contenido {
      * @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) {
+    function MECON_PDF_Texto($orientacion = null, $encabezado = true) {
         $this->_orientacion = $orientacion;
+        $this->_encabezado = $encabezado;
     }
 
     /**
@@ -88,13 +98,13 @@ class MECON_PDF_Texto extends MECON_PDF_Contenido {
     function _newPage(&$MARCO) {
         $tmp = ($this->_orientacion) ? $this->_orientacion :
             $MARCO->getOrientation();
-        $MARCO->newPage($MARCO->tamanio, $tmp);               
+        $MARCO->newPage($MARCO->tamanio, $tmp, $this->_encabezado);               
     }
    
     /**
      * Funcion que agrega el contenido del texto al PDF.
      *
-     * @param &Object $MARCO MECON_PDF_Marco
+     * @param &Object $MARCO MECON_PDF_Marco.
      *
      * @return void
      * @access public
@@ -136,12 +146,9 @@ class MECON_PDF_Texto extends MECON_PDF_Contenido {
                 else {
                     $init = 0;
                 }
-           
 
                 $MARCO->addText($init, $alto + 2,
                         $t, $this->_estilos[$i], null, $orientacion);
-           
-
             }
         }
         $MARCO->espacioDisponible = $alto;
@@ -171,7 +178,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[] = ' ';
+                }
             }
         }
     }
@@ -235,7 +247,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));
+        }
     }
     
     /**
@@ -262,5 +279,52 @@ class MECON_PDF_Texto extends MECON_PDF_Contenido {
     function setEstilo($pos, $estilo) {
         $this->_estilos[$pos] = $estilo;
     }
+
+    /**
+     * Devuelve el array de estilos o uno en particular.
+     *
+     * @param int $pos NĂºmero parrafo.
+     *
+     * @access public
+     * @return mixed
+     */
+    function getEstilo($pos = null) {
+        if ($pos) {
+            return $this->_estilos[$pos];
+        }
+        else {
+            return $this->_estilos;
+        }
+    }
+    
+    /*
+     * Devuelve el estilo por defecto.
+     *
+     * @access public
+     * @return mixed
+     */
+    function getEstiloDefecto() {
+        return $this->_estilo_defecto;
+    }
+
+    /**
+     * Funcion que devuelve el numero de parrafos que hay cargados.
+     *
+     * @access public
+     * @return int
+     */
+    function cantParrafos() {
+        return count($this->_parrafos);
+    }
+
+    /**
+     * Devuelve el array de parrafos
+     *
+     * @access public
+     * @return array
+     */
+    function getParrafos() {
+        return $this->_parrafos;
+    }
 }
 ?>
\ No newline at end of file