for ($row = 0; $row<$this->_tabla->getRowCount(); $row++) {
for ($i=0; $i<$this->_tabla->getColCount(); $i++ ) {
$tmp = $this->_tabla->getCellAttributes($row,$i);
- if(intval($tmp['width']) != 0)
+ if(@intval($tmp['width']) != 0)
$attr[$i] = intval($tmp['width']);
- if(count($attr) == $this->_tabla->getColCount())
- break;
+ if(@count($attr) == $this->_tabla->getColCount())
+ break 2;
}
- if(count($attr) == $this->_tabla->getColCount())
- break;
}
+
+ if (!isset($attr))
+ die ('Todas las columnas tienen que tener un ancho asignado');
+
$tmp = array_sum($attr);
$attr2[0] = 0;
//Actuo por el colspan
if (@$estilo['colspan']) {
- if ($estilo['colspan'] >= $this->_tabla->getColCount()) {
+ if ($estilo['colspan'] > $this->_tabla->getColCount()) {
$estilo['colspan'] =
- $this->_tabla->getColCount() - $j - 1;
+ $this->_tabla->getColCount() - $j;
}
$ancho_columna = $attr2[$j+$estilo['colspan']] -
$attr2[$j];
//Actuo por el colspan
if (@$estilo['colspan']) {
- if ($estilo['colspan'] >= $this->_tabla->getColCount()) {
+ if ($estilo['colspan'] > $this->_tabla->getColCount()) {
$estilo['colspan'] =
- $this->_tabla->getColCount() - $j - 1;
+ $this->_tabla->getColCount() - $jj;
}
$der = $attr2[$jj+$estilo['colspan']];
$izq = $attr2[$jj];
$this->_marco->addRectangle($izq, $alto, $der,
$alto+$repetir[$ii]['max'], @$estilo['fill'],
null, $orientacion);
-
$alto1 = $alto + $repetir[$ii]['max'];
foreach ($repetir[$ii][$jj] as $t) {
$alto1 -= $estilo['alto_linea'];
}
if (@$estilo['colspan']) {
- $jj++;
+ $jj += $estilo['colspan'];
}
}
for ($j = 0; $j < $this->_tabla->getColCount(); $j++) {
$estilo = $this->_obtenerEstiloCelda($i, $j);
-
+
//Actuo por el colspan
if (@$estilo['colspan']) {
- if ($estilo['colspan'] >= $this->_tabla->getColCount()) {
- $estilo['colspan'] = $this->_tabla->getColCount() - 1;
+ if ($estilo['colspan'] > $this->_tabla->getColCount()) {
+ $estilo['colspan'] = $this->_tabla->getColCount() - 1;
}
$der = $attr2[$j+$estilo['colspan']];
$izq = $attr2[$j];
}
}
if (@$estilo['colspan']) {
- $j++;
+ $j += $estilo['colspan']-1;
}
}