Respuesta: Imprimir diferente encabezado con TCPDF maycolalvarez
Buenos dias Sr maycolalvarez, tengon un pequeño problema, la cual desde ayer ando buscando porq se da esto, colocando en la primera hoja del memo cabezera true y pie false, pero ni asi lo toma, ya que imprime la cabezera en la parte de arriba (TOP) y la parte de abajo (DOWN), como lo muestra esta imagen:
El codigo q genra este pdf, armado con tu ayuda es la siguiente: Código PHP: <?php App::import('Vendor','tcpdf');
class myTCPDF extends TCPDF { public $total_depositos; public $totalLetra; public $fecha_final; public $segundaHoja=true,$banco,$cliente,$Cta_cte,$fecha_finals,$ano; public function Header() { if ($this->segundaHoja===true) { // *** replace the following parent::Header() with your code for TOC page //parent::Header(); $this->setPrintFooter(false); $this->Image('/var/www/SISCONVAPOST/app/webroot/img/LogoUnerg.jpg',10,10,40,20); $this->Cell(0,3,"Respublica Bolivariana de Venzuela",0,1,'C'); $this->Cell(0,4,"Universidad Rómulo Gallegos",0,1,'C'); $this->Cell(0,5,"San Juan de los Morros Ed. Guárico",0,1,'C'); $this->exit;
} else { // *** replace the following parent::Header() with your code for normal pages //parent::Header(); //$this->SetX(10);
$this->setPrintFooter(true); $this->Cell(180,6,$this->banco,0,1,'C'); $this->Cell(180,7,$this->cliente,0,1,'C'); $this->Cell(180,8,"Cta. Cte. Nº.: ".$this->Cta_cte,0,1,'C'); $this->Cell(180,7,"Depositos Originales Correspondiente al mes ".$this->fecha_finals." de ".$this->ano,0,1,'C'); $this->exit;
} } 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->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); $tcpdf->setImageScale(PDF_IMAGE_SCALE_RATIO); /////////////////////////////MEMORANDUM///////////////////////////////////// $tcpdf->AliasNbPages(); $tcpdf->SetFont("freesans", "BI", 10);
/*$tcpdf->setPrintHeader(true); $tcpdf->setPrintFooter(false);*/ $tcpdf->Header(true);
$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="XXXXXXXXXXXXXXXXX"; $banco="XXXXXXXXXXXXXXXXX"; $Cta_cte="XXXXXXXXXXXXXXXXX"; $cliente="XXXXXXXXXXXXXXXXX"; $cuerpo="XXXXXXXXXXXXXXXXX, "; }else{ $para="XXXXXXXXXXXXXXXXX"; $banco="XXXXXXXXXXXXXXXXX"; $Cta_cte="XXXXXXXXXXXXXXXXX"; $cliente="XXXXXXXXXXXXXXXXX"; $cuerpo="XXXXXXXXXXXXXXXXX, "; 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 /> XXXXXXXXXXXX<br /> Decana de Postgrado<br /><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; //ANTES de la segunda hoja: $tcpdf->segundaHoja = true; $tcpdf->banco = $banco; $tcpdf->cliente=$cliente; $tcpdf->Cta_cte=$Cta_cte; $tcpdf->fecha_finals=$fecha_finals; $tcpdf->ano=$ano; //continué definiendo las demás variables $tcpdf->AddPage();
$tcpdf->writeHTML($txt, true, false, true, false, '');
/////////////////////////////SEGUNDA HOJA en ADELANTE/////////////////////////////////////
$tcpdf->SetFont("freesans", "BI", 9); //la segunda hoja en adelante /*$tcpdf->setPrintHeader(true); $tcpdf->setPrintFooter(true);*/ $tcpdf->Header(false); $tcpdf->segundaHoja = false; $tcpdf->AddPage();
$tcpdf->writeHTML($contenido, true, false, true, false, '');
$tcpdf->lastPage(); $tcpdf->Output($banco."_".$fecha_emision.".pdf", "I"); ?> Si te puedes dar cuenta, utilizo 2 $tcpdf->writeHTML($XXX, true, false, true, false, ''); ya que una manda a imprimir el memo, y la segunda es la tabla con los reportes de deposito generada en tabla httml desde una FUNCION DESDE EL CONTROLADOR
Sera que ma das una mano con esto, Grcaias ante mano. Saludos
__________________ Miguel Padrón :cool: |