* @var array $conf
* @access protected
*/
- var $_conf = array ();
+ var $_config = array ();
/**
* Tamanio de las paginas.
$this->_pdf =& new MECON_PDF;
$this->_tamanio = $tam;
$this->_orientacion = $ori;
- $this->_conf = include 'MECON/PDF/Marco/medidas.php' ;
- $this->_conf = $this->_conf[$tam][$ori];
+ $this->_config = include 'MECON/PDF/Marco/medidas.php' ;
+ $this->_config = $this->_config[$tam][$ori];
+ $this->MECON_HTML_Tabla();
}
/**
* @access protected
*/
function _addLogo() {
- $conf = $this->_conf['encabezado'];
+ $conf = $this->_config['encabezado'];
if ($this->logo) {
$this->_pdf->addImage($this->logo, $conf['logo']['X'],
$conf['logo']['Y'], null, 'jpg');
* @access protected
*/
function _addSeccion() {
- $conf = $this->_conf['encabezado'];
+ $conf = $this->_config['encabezado'];
if ($this->seccion) {
$tmp = $this->_pdf->strlen($this->seccion, $conf['seccion']);
$tmp2 = $conf['linea2']['Xi'] - $conf['linea1']['Xi'];
* @access protected
*/
function _addSubSeccion() {
- $conf = $this->_conf['encabezado'];
+ $conf = $this->_config['encabezado'];
if ($this->subseccion) {
$tmp = $this->_pdf->strlen($this->subseccion, $conf['subseccion']);
$tmp2 = $conf['linea2']['Xi'] - $conf['linea1']['Xi'];
* @access protected
*/
function _addPager() {
- $conf = $this->_conf['encabezado'];
+ $conf = $this->_config['encabezado'];
if ($this->paginador) {
$txt = 'Pagina '.$this->_pdf->numPage().' de '.
$this->_pdf->countPages();
* @access protected
*/
function _addDate() {
- $conf = $this->_conf['encabezado'];
+ $conf = $this->_config['encabezado'];
if ($this->fecha) {
if ($this->fecha === true) {
$this->fecha = date("d/m/Y");
* @access protected
*/
function _addHeaderRectangle() {
- $conf = $this->_conf['encabezado'];
+ $conf = $this->_config['encabezado'];
//Armo el recuadro
$this->_pdf->addRectangle ($conf['Yi'], $conf['Xi'], $conf['Yf'],
$conf['Xf']);
* @access protected
*/
function _addTitle() {
- $conf = $this->_conf['titulo'];
+ $conf = $this->_config['titulo'];
if ($this->titulo) {
$tmp = $this->_pdf->strlen($this->titulo, $conf);
- $tmp2 = $this->_conf['Xf'] + abs($this->_conf['Xi']);
+ $tmp2 = $this->_config['Xf'] + abs($this->_config['Xi']);
if ($tmp >= $tmp2) {
$this->titulo = $this->_pdf->wrapLine ($this->titulo, $tmp2,
$conf);
$tmp = $this->_pdf->strlen($this->titulo, $conf);
}
- $init = $this->_conf['Xi'] + ($tmp2 - $tmp) / 2;
+ $init = $this->_config['Xi'] + ($tmp2 - $tmp) / 2;
$this->_pdf->addText($init, $conf['Y'], $this->titulo,
$conf);
}
* @access protected
*/
function _addSubTitle() {
- $conf = $this->_conf['subtitulo'];
+ $conf = $this->_config['subtitulo'];
if ($this->subtitulo) {
$tmp = $this->_pdf->strlen($this->subtitulo, $conf);
- $tmp2 = $this->_conf['Xf'] + abs($this->_conf['Xi']);
+ $tmp2 = $this->_config['Xf'] + abs($this->_config['Xi']);
if ($tmp >= $tmp2) {
$this->subtitulo = $this->_pdf->wrapLine ($this->subtitulo, $tmp2,
$conf);
$tmp = $this->_pdf->strlen($this->subtitulo, $conf);
}
- $init = $this->_conf['Xi'] + ($tmp2 - $tmp) / 2;
+ $init = $this->_config['Xi'] + ($tmp2 - $tmp) / 2;
$this->_pdf->addText($init, $conf['Y'], $this->subtitulo,
$conf);
}
if ($subtitle) {
$this->_addSubTitle();
}
+// $this->_pdf->addLine($this->_config['Xi'], $this->_config['Yi'],
+// $this->_config['Xf'], $this->_config['Yi']);
}
+
+ /**
+ * Funcion que devuelve el espacio dispobible en una pagina.
+ *
+ * @param int $pagina Numero de pagina.
+ *
+ * @return int
+ * @access protected
+ */
+ function _getAvailableSpace($pagina) {
+ if ($pagina === 1) {
+ return $this->_config['contenido']['Y'];
+ }
+ else {
+ return $this->_config['titulo']['Y'];
+ }
+ }
+
}
?>
\ No newline at end of file
* @access public
*/
function display() {
- $this->_pdf->newPage($this->_tamanio);
- $this->buildPage();
+ if ($this->getRowCount()) {
+ $this->_agregarContenido();
+ }
+ else {
+ $this->_pdf->newPage($this->_tamanio);
+ $this->_pdf->addText($this->_config['Xi'],
+ $this->_config['contenido']['Y'],
+ 'No hay contenido para mostrar.',
+ $this->_config['contenido']);
+ $this->buildPage();
+ }
$this->_pdf->display();
}
-
+
+ /**
+ * Funcion que devuelve el estilo de la celda segun la configuracion.
+ *
+ * @param int $row Indicador de la fila
+ * @param int $col Indicador de la columna
+ *
+ * @return array
+ * @access protected
+ */
+ function _obtenerEstiloCelda($row, $col) {
+ $clase = $this->getCellAttributes($row, $col);
+ switch ($clase['class']) {
+ case 'mecon_html_tabla_comun_cabecera':
+ $estilo = $this->_config['celda_cabecera'];
+ break;
+ case 'mecon_html_tabla_comun_titulo':
+ $estilo = $this->_config['celda_titulo'];
+ break;
+ default :
+ $estilo = $this->_config['celda_comun'];
+ break;
+ }
+ return $estilo;
+ }
+
+ /**
+ * Funcion que agrega las filas y columnas a la pagina.
+ *
+ * @return void
+ * @access protected
+ */
+ function _agregarContenido() {
+ //Calculo el ancho de la columnas basandome en el ancho que tienen las
+ //mismas en la primer fila {{{
+ $ancho_pagina = abs($this->_config['Xf'] -
+ $this->_config['Xi']) ;
+ for ($i=0; $i<$this->getColCount(); $i++ ) {
+ $tmp = $this->getCellAttributes(0,$i);
+ if (is_null(@$tmp['width'])) {
+ die ('Todas las columnas deben tener asignado un ancho.');
+ }
+ $attr[$i] = intval($tmp['width']);
+ }
+ $tmp = array_sum($attr);
+ $attr2[0] = $this->_config['Xi'];
+ for ($i=1; $i<count($attr); $i++) {
+ $attr2[$i] = intval(($ancho_pagina * $attr[$i-1] / $tmp) +
+ $attr2[$i-1]);
+ }
+ $attr2[$i] = $this->_config['Xf'];
+ ///}}}
+
+ $this->_pdf->newPage($this->_tamanio);
+
+ $alto = $this->_getAvailableSpace($this->_pdf->numPage());
+
+ for ($i = 0; $i < $this->getRowCount(); $i++) {
+ $max = 0;
+ for ($j = 0; $j < $this->getColCount(); $j++) {
+ $estilo = $this->_obtenerEstiloCelda($i, $j);
+ $txt = $this->_pdf->wordWrap($this->getCellContents($i,$j),
+ $attr2[$j+1] - $attr2[$j], $estilo);
+ $max = max($estilo['alto_linea'] * count($txt), $max);
+
+ }
+ $alto -= $max;
+
+ if ($alto < $this->_config['Yi']) {
+ $this->_pdf->newPage($this->_tamanio);
+ $alto = $this->_getAvailableSpace($this->_pdf->numPage());
+ }
+ for ($j = 0; $j < $this->getColCount(); $j++) {
+ $estilo = $this->_obtenerEstiloCelda($i, $j);
+
+ $this->_pdf->addRectangle($alto, $attr2[$j],
+ $alto+$max,
+ $attr2[$j+1], @$estilo['fill']);
+
+ $txt = $this->_pdf->wordWrap($this->getCellContents($i,$j),
+ $attr2[$j+1] - $attr2[$j], $estilo);
+ $alto1 = $alto + $max;
+ foreach ($txt as $t) {
+ $alto1 -= $estilo['alto_linea'];
+ $this->_pdf->addText($attr2[$j] + 1, $alto1 + 1,
+ $t, $estilo);
+ }
+ }
+ }
+ $t = true;
+ foreach ($this->_pdf->getPages() as $page) {
+ $this->_pdf->_pagina_actual = $page;
+ $this->buildPage($t, $t);
+ $t = false;
+ }
+ }
+
}
?>
\ No newline at end of file
$pdf =& new MECON_PDF_Tabla ("a4", "portrait");
//$pdf->seccion = 'Dir. General de Despacho y Mesa de Entradas y esto eso todo oooooooooooooooooooooooooooooo';
-$pdf->seccion = 'Dir. General de Despacho y Mesa de Entradas';
+$pdf->seccion = 'Prueba de la libreria de PDF\'s';
$pdf->titulo = 'Alberto Giordano';
$pdf->subtitulo = 'Filosofo Estilista, guacho pulenta si los hay';
//$pdf->paginador = false;
//$pdf->fecha = '2/10/2003';
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'cabecera');
+$pdf->addRow(array ('1erColumna', '2daColumna para que la corete', '3erColumna'), 'titulo');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->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', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+$pdf->addRow(array ('1erColumna', '2daColumna', '3erColumna'), 'comun');
+
+$pdf->updateColAttributes(0,'width="50%"');
+$pdf->updateColAttributes(1,'width="25%"');
+$pdf->updateColAttributes(2,'width="35%"');
$pdf->display();