]> git.llucax.com Git - mecon/meconlib.git/commitdiff
Se agrega a la clase MLIB_PDF_Tabla y MLIB_PDF_Tabla_Estilo la posibilidad de
authorMartín Marrese <marrese@gmail.com>
Mon, 5 Sep 2005 15:28:19 +0000 (15:28 +0000)
committerMartín Marrese <marrese@gmail.com>
Mon, 5 Sep 2005 15:28:19 +0000 (15:28 +0000)
setear filas (celdas) que se repitan en todas las paginas que se van creando.
Esto libera al programador de  utilizar siempre los tipos titulo y cabecera para
lograr ese efecto.
Se modifica el archivo de test para que se pueda ver como hacer esto.

lib/MLIB/PDF/Tabla.php
lib/MLIB/PDF/TablaEstilo.php
test/Pdf/test.php

index 10f83856f7a31bc51e1de7bd4fbbf7f50e83b8e2..3934abd590b5ea5d6524c7d16e1111ec5232134d 100644 (file)
@@ -280,7 +280,8 @@ class MLIB_PDF_Tabla extends MLIB_PDF_Contenido {
                 
                 $rep = array ();
                 $rep = $this->_tabla->getCellAttributes($i, $j);
-                if (@$rep['cabecera'] || @$rep['titulo']) {
+                if (@$rep['cabecera'] || @$rep['titulo'] ||
+                    @$this->_config[$rep['mlib_style']]['repeat'] ) {
                     $repetir[$i][$j] = $txt;
                     $repetir[$i]['max'] = $max;
                 }
@@ -364,7 +365,7 @@ class MLIB_PDF_Tabla extends MLIB_PDF_Contenido {
                         //Ubico el texto segun su alineacion
                         $init = $this->_obtenerAlineacionTexto($i, $j, $t, $attr2,
                                 $estilo);
-                        
+                
                         $this->_marco->addText($init, $alto1 + 2,
                                 $t, $estilo, null, $orientacion);
                     }
index 78c4e6a426800f4d71ab7f2b0636f5ecdf7581cf..f153a8eaf07642f326f4cef3e399e0d111228c97 100644 (file)
@@ -60,6 +60,14 @@ class MLIB_PDF_Tabla_Estilo {
      */
     var $fontHeight = 8;
     
+    /**
+     * Indica si debe repetirse en las diferentes pagians.
+     * 
+     * @var bool $repeat
+     * @access public;
+     */
+    var $repeat = false;
+    
     /**
      * Color de fondo de la celda.
      * 
@@ -129,6 +137,7 @@ class MLIB_PDF_Tabla_Estilo {
                 'alto_linea'      => $this->rowHeight,
                 'font'            => $this->font,
                 'height'          => $this->fontHeight,
+                'repeat'          => $this->repeat,
                 'fillcolor'       => $this->fillColor,
                 'fill'            => 
                 array (
index 991f1d22a0546d1ebf2beba69a2176163f9141a7..d4546c670bf14fffc3c5abc063ba9591ae86bf41 100755 (executable)
@@ -15,13 +15,13 @@ $TABLA->addRow(array ('1erCabecera', '2daCabecera para que la corete',
             '3erCabecera'), 'cabecera');
 $TABLA->addRow(array ('1erColumna', '2daColumna para que la corete',
             '3erColumna'), 'clara');
-for ($i=0; $i<10; $i++) {
+for ($i=0; $i<200; $i++) {
     if ($i == 50) {
         $TABLA->addRow(array ('1erColumna para gonzalo que lo mira por tv desde su casa en ayacucho 1593. Aunque ahora que lo pienso me estoy equivocando', '2daColumna 1erColumna para gonzalo que lo mira por tv desde su casa en ayacucho 1593. Aunque ahora que lo pienso me estoy equivocando FILA 50', '3erColumna1erColumna para gonzalo que lo mira por tv desde su casa en ayacucho 1593. Aunque ahora que lo pienso me estoy equivocando'), 'comun');
     }
     elseif ($i == 30) {
         $TABLA->addRow(array ('Esto es para probar', 'como repite las celdas',
-                    'MLIB_PDF_Tabla'), 'titulo');
+                    'MLIB_PDF_Tabla'), 'mlib_style="martin_repeat"');
     }
     else {
         $TABLA->addRow(array ('Fila: '.$i.'Col: 1 ', 'Fila: '.$i.'Col: 2', 'Fila: '.$i.'Col: 3'), 'comun');
@@ -36,7 +36,31 @@ $TABLA->updateCellAttributes(2,0, 'align="left"');
 $TABLA->updateCellAttributes(2,1, 'align="center" mlib_style="martin_test2"');
 $TABLA->updateCellAttributes(2,2, 'align="right" mlib_style="martin_test"');
 
-$PDF_TABLA =& new MLIB_PDF_Tabla ($TABLA, 'portrait');
+$PDF_TABLA =& new MLIB_PDF_Tabla ($TABLA, 'landscape', false);
+
+$PDF_TABLA_ESTILO =& new MLIB_PDF_Tabla_Estilo('martin_repeat');
+$PDF_TABLA_ESTILO->repeat = true;
+$PDF_TABLA_ESTILO->rowHeight = 18;
+$PDF_TABLA_ESTILO->font = 'Helvetica';
+$PDF_TABLA_ESTILO->fontHeight = 16;
+$PDF_TABLA_ESTILO->fillColor = array (
+            'red'   => '0', 
+            'blue'  => '0',
+            'green' => '0'
+            );
+$PDF_TABLA_ESTILO->fillMode = 'fill+stroke';
+$PDF_TABLA_ESTILO->fillModeFillColor =  array (
+                'red'   => '1', 
+                'blue'  => '1',
+                'green' => '1'
+                );
+$PDF_TABLA_ESTILO->fillModeStrokeColor =  array (
+                'red'   => '1', 
+                'blue'  => '0',
+                'green' => '0'
+                );
+
+$PDF_TABLA->setStyle($PDF_TABLA_ESTILO);
 
 $PDF_TABLA_ESTILO =& new MLIB_PDF_Tabla_Estilo('martin_test');
 $PDF_TABLA_ESTILO->rowHeight = 18;
@@ -86,7 +110,7 @@ $PDF_TABLA->setStyle($PDF_TABLA_ESTILO);
  
 
 //{{{
-$PDF_TEXTO =& new MLIB_PDF_Texto ('portrait');
+$PDF_TEXTO =& new MLIB_PDF_Texto ('landscape', false);
 
 $PDF_TEXTO->addContent(array (
             "Texto a la izquierda",
@@ -101,7 +125,7 @@ $PDF_TEXTO->setEstilo(2,  array ('font'   => 'Helvetica-Bold', 'height' => 8,
 
 $PDF_TEXTO->addContent("PARRAFO 1 -> Si se omite tamano, se suprime todo desde el desplazamiento hasta el final de la matriz. Si se especifica el tamano y es positivo, se suprimirán tantos elementos como se especifica. Si fuera negativo, el final de la porción eliminada estará a tantos elementos del final de la matriz. Truco: para eliminar todo desde el desplazamiento hasta el final de la matriz cuando también se especifica sustitucion,utilice  como tamano.\nPARRAFO 2 ->Si se especifia la matriz de sustitucion, entonces los elementos suprimidos son reemplazados con los elementos de dicha matriz. Si los valores de desplazamiento y tamano son tales que nada es borrado, los elementos de la matriz sustitucion  se insertarán en la posición indicada por el desplazamiento. Truco: si sólo se va a sustituir algo por un elemento nada más, no hace falta poner alrededor del mismo, salvo que dicho elemento sea una matriz en sí mismo.");
 
-$PDF_TEXTO2 =& new MLIB_PDF_Texto ('portrait');
+$PDF_TEXTO2 =& new MLIB_PDF_Texto ('landscape', false);
 $PDF_TEXTO2->addContent("El jefe de Gobierno porteño, Aníbal Ibarra, advirtió que su gestión no otorgará beneficios a los piqueteros que durante el fin de semana último ocuparon un predio en el barrio de Palermo.\n Si uno privilegia la situación de irregularidad, es que ponemos patas para arriba a toda la sociedad, enfatizó Ibarra, quien advirtió que no avalará situaciones de fuerza por sobre lo que hacen cientos de miles de ciudadanos que pagan sus créditos y que se anotan (en planes) para viviendas, esperando a veces durante muchos años.\n En declaraciones periodísticas, Ibarra remarcó que no se puede obtener una vivienda ni autorización para construir viviendas sobre la presión y mucho menos sobre una situación de ilegalidad.");
 $PDF_TEXTO2->setEstilo(1,  array ('font'   => 'Helvetica-Bold', 'height' => 8,
             'align'  => 'center'));
@@ -111,13 +135,13 @@ $PDF_TEXTO2->setEstilo(0,  array ('font'   => 'Helvetica-Bold', 'height' => 8,
 //print '<PRE>MARTIN FIN </PRE>';
 //}}}
 
-$PDF_MARCO =& new MLIB_PDF_Marco ('legal', 'portrait');
+$PDF_MARCO =& new MLIB_PDF_Marco ('legal', 'landscape');
 $PDF_MARCO->seccion   = 'Prueba de la libreria de PDF\'s';
 $PDF_MARCO->titulo    = 'Alberto Giordano';
 $PDF_MARCO->subtitulo = 'Filosofo Estilista, guacho pulenta si los hay';
-$PDF_MARCO->logo      = '/var/www/sistemas/mlib/www/images/pdf_logo_portrait.jpg';
+$PDF_MARCO->logo      = '/var/www/sistemas/mlib/www/images/pdf_logo_landscape.jpg';
 
-//$PDF_MARCO->addContent(new MLIB_PDF_Tabla ($TABLA, 'portrait'), false);
+//$PDF_MARCO->addContent(new MLIB_PDF_Tabla ($TABLA, 'landscape'), false);
 $PDF_MARCO->addContent($PDF_TABLA, false);
 $PDF_MARCO->addContent($PDF_TEXTO, true);
 
@@ -127,7 +151,7 @@ $PDF_MARCO->addContent($PDF_TEXTO, true);
 //$PDF_MARCO->addContent($PDF_TEXTO2, true);
 //$PDF_MARCO->addContent($PDF_TEXTO2, true);
 //$PDF_MARCO->addContent(new MLIB_PDF_Tabla ($TABLA), true);
-//$PDF_MARCO->addContent(new MLIB_PDF_Tabla ($TABLA, 'portrait'), false);
+//$PDF_MARCO->addContent(new MLIB_PDF_Tabla ($TABLA, 'landscape'), false);
 //}}}
 
 //$TABLA->display();