Imprimir difernte encabezado con TCPDF Buenas tardes, tengo un problema de hace varios dias. la cual quiero palntearla en este prestigioso foro, el problema es ele siguiente:
Estoy utilizando cakephp para un sistema de contro de deposito dentro de la institucion en donde trabajo, el sistema esta en fase final, estoy con los reportes, es aqui en donde uso la CLASE TCPDF, q funciona de maravilla, ya que puedo sacar todos los reporte q quiero, pero q en cuanto a encabezado es donde tengo el problema. le presento paret del codigo de la vista q gernera un reporte, en donde la primera hoja va con el membrete del memo q acompaña a los registros: Código PHP: <?php
App::import('Vendor','tcpdf');
class myTCPDF extends TCPDF {
public $total_depositos;
public $totalLetra;
public $fecha_final;
/*public $banco;
public $cliente;
public $Cta_cte;
public $fecha_finals;
public $ano;*/
public function Header($segundaHoja,$banco,$cliente,$Cta_cte,$fecha_finals,$ano) {
if ($segundaHoja===true) {
// *** replace the following parent::Header() with your code for TOC page
//parent::Header();
$this->Image('/var/www/SISCONVAPOST/app/webroot/img/LogoUnerg.jpg',10,10,40,20);
$this->Cell(180,3,"Respublica Bolivariana de Venzuela",0,1,'C');
$this->Cell(180,4,"Universidad Rómulo Gallegos",0,1,'C');
$this->Cell(180,5,"San Juan de los Morros Ed. Guárico",0,1,'C');
} else {
// *** replace the following parent::Header() with your code for normal pages
//parent::Header();
//$this->SetX(10);
$this->Cell(180,6,$banco,0,1,'C');
$this->Cell(180,7,$cliente,0,1,'C');
$this->Cell(180,8,"Cta. Cte. Nº.: ".$Cta_cte,0,1,'C');
$this->Cell(180,7,"Depositos Originales Correspondiente al mes ".$fecha_finals." de ".$ano,0,1,'C');
}
}
public function Footer() {
// Position at 15 mm from bottom
$this->SetY(-20);
// Set font
$this->SetFont('helvetica', 'I', 8);
$this->SetFillColor(255, 255, 255);
$this->MultiCell(40, 5, ''.'Lic. María Hernádez Administración de Postgrado', T, 'C', 1, 0, '20', '260', true);
$this->MultiCell(35, 5, ''.'Dra. Deyanira Carriola Decana de Postgrado', T, 'C', 1, 0, '125', '260', true);
$this->MultiCell(35, 5, ''. 'Página '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, 'C', 1, 0, '80', '260', true);
}//fin footer
}//fin myTCPDF
$tcpdf = new myTCPDF('P','mm','LETTER',true,'UTF-8',false);
//$textfont = 'freesans';
$tcpdf->SetCreator(PDF_CREATOR);
$tcpdf->SetAuthor("autor");
$tcpdf->SetTitle("Título");
$tcpdf->SetSubject("Tutorial TCPDF en cakePHP");
$tcpdf->SetKeywords("TCPDFial TCPDF en cakePHP");
$tcpdf->SetKeywords("TCPD, PDF, cakePHP, ejemplo");
//$tcpdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
//$tcpdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 046', PDF_HEADER_STRING);
$tcpdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$tcpdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$tcpdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
//$tcpdf->setLanguageArray($l);
/////////////////////////////MEMORANDUM/////////////////////////////////////
$tcpdf->AliasNbPages();
$tcpdf->SetFont("freesans", "BI", 10);
//priemra pagina donde esta el comunicado
$tcpdf->setPrintHeader(true);
$tcpdf->setPrintFooter(false);
$tcpdf->AddPage();
$segundaHoja=true;
$tcpdf->Header($segundaHoja,$banco,$cliente,$Cta_cte,$fecha_finals,$ano);
$fecha_emision=date('d-m-Y');
$tcpdf->total_depositos=$total_depositos;//cuando quiera imprimir valor variable aqui debo hacer esto<-
$tcpdf->totalletras=$totalLetra;
$tcpdf->fecha_final=$fecha_finals;
$ano=substr($fecha_finals, 0, 4);
$fecha=substr($fecha_finals, 5, 2);
switch ($fecha) {
case 1:
$fecha_finals= "Enero";
break;
case 2:
$fecha_finals= "Febrero";
break;
case 3:
$fecha_finals= "Marzo";
break;
case 4:
$fecha_finals= "Abril";
break;
case 5:
$fecha_finals= "Mayo";
break;
case 6:
$fecha_finals= "Junio";
break;
case 7:
$fecha_finals= "Julio";
break;
case 8:
$fecha_finals= "Agosto";
break;
case 9:
$fecha_finals= "Octubre";
break;
case 10:
$fecha_finals= "Septiembre";
break;
case 11:
$fecha_finals= "Noviembre";
break;
case 12:
$fecha_finals= "Diciembre";
break;
default:
$fecha_finals="problema con BD";
}
$total_depositos=number_format($total_depositos,2,',', '.');
$tcpdf->bancoid=$bancoId;
if ($bancoId==1){
$para="ADMINISTRADOR(A) DE FONDESURG";
$banco="Baco de Venezuela";
$Cta_cte="01020467400000014436";
$cliente="FUNDESURG";
$cuerpo="Pre-Inscripción e Inscripción, ";
}else{
$para="ADMINISTRADOR(A) DE AGRROUNERG";
$banco="Banco Nacional de Credito";
$Cta_cte="01910134712100000171";
$cliente="Agropecuaria Rómulo Gallegos C.A.";
$cuerpo="Constancia de Notas, Constancia de Notas Certificadas, Notas Certificadas, Inscripción de Tesis, Arancel de Grado, Acto por Secretaria, Fondo Negro, y Regime de Permanencia, ";
}
$txt = <<<EOD
<table style="text-align: left; width: 500px; " border="0" cellpadding="2" cellspacing="2">
<tr>
<td style="vertical-align: top;">
<div style="text-align: center;"><h2><u>M E M O R A N D U M</u></h2><br />
</div>
PARA: $para<br /><br />
DE: DECANO(A) AREA DE POSTGRADO<br /><br />
ASUNTO: REMISION PLANILLA DE DEPOSITO<br /><br />
FECHA: $fecha_emision <br /><br /><br />
</td>
</tr>
<tr align="justify">
<td style="vertical-align: top;">
<h2> Tengo el bien de dirigirme a
usted, en la oportunidad de remitirle anexo, Planillas de
Depósitos Bancarios del $banco, corespondiente al mes
de $fecha_finals de $ano, por la cantidad de: $totalLetra Cts. ($total_depositos Bs.), correspondeintes a cancelación de $cuerpo en los diferentes programas de Postgrado.<br /><br />
Remisión que se hace para su conocimiento y fines consiguientes.-</h2><br />
</td>
</tr>
<tr align="center">
<td style="vertical-align: top;">Atenatamente,
<br />
<br />
<br />
____________________________<br />
Dra. Deyanira Carriola<br />
Decana de Postgrado<br />
</td>
</tr>
<tr>
<td style="vertical-align: top;">ANEXO: LO INDICADO<br />
NOVI/MH.-<br />
C.c Decano(a) de Postgrado<br />
Archivo,-<br />
</td>
</tr>
</table>
EOD;
$tcpdf->Ln(10);
$tcpdf->writeHTML($txt, true, false, true, false, '');
$tcpdf->lastPage();
//segunda pagina donde esta los vauches
//$tcpdf->setPrintHeader(true);
/////////////////////////////SEGUNDA HOJA en ADELANTE/////////////////////////////////////
$tcpdf->setPrintHeader(true);
$tcpdf->setPrintFooter(true);
$tcpdf->AddPage();
$segundaHoja=false;
$tcpdf->Header($segundaHoja,$banco,$cliente,$Cta_cte,$fecha_finals,$ano);
$tcpdf->SetFont("freesans", "BI", 9);
//$this->log($contenido , LOG_DEBUG);
$tcpdf->writeHTML($contenido, true, false, true, false, '');
// writeHTMLCell($w, $h, $x, $y, $html='', $border=0, $ln=0, $fill=0, $reseth=true, $align='', $autopadding=true)
//$tcpdf->writeHTMLCell(100, '', '', $y, $contenido, 1, 0, 1, true, 'J', true);
$tcpdf->lastPage();
$tcpdf->Output($banco."_".$fecha_emision.".pdf", "I");
?> A partir de la segunda hoja, la administradora de la institución desa que en vez de emcabezado del memo, salga otro, q son los datos relativos al banco de los depositos que acompaña la comunicación
Si ve bien el codigo mando 2 variables para diferenciar q encabezado se debe imprimir, segun si es la hoja del memo (1era pagina), o si es la tabla de depositos (2da hoja en adelante)
Por favor me podran decir en donde cometo el error, o si hay otra manera de hacer.
Antemano gracias, y si este problema no deberia ir en esta sección, pido mil disculpa al moderador, pienso q como es problema php, lo estoy colocando aqui. gracias
__________________ Miguel Padrón :cool: |