/**
  * Monta as carteirinhas de acordo em $config e $students
  * @return FPDF
  */
 public function generatePdf()
 {
     $pdf = new FPDF('P', 'mm', 'A4');
     // Variáveis auxiliares
     $yCoordinate = self::VERTICAL_MARGIN;
     $cardVerseX = self::HORIZONTAL_MARGIN + self::GAP_BETWEEN_CARDS + self::CARD_WIDTH;
     $cardsPerPage = (int) ((297 - 2 * self::VERTICAL_MARGIN) / (self::CARD_HEIGHT + self::GAP_BETWEEN_CARDS));
     $frontFieldsX = self::HORIZONTAL_MARGIN + self::CARD_WIDTH - self::CARD_PADDING - self::FRONT_FIELDS_WIDTH;
     foreach ($this->students as $i => $student) {
         if ($i % $cardsPerPage === 0) {
             $pdf->AddPage('P', 'A4');
             $yCoordinate = self::VERTICAL_MARGIN;
         }
         $pdf->SetDrawColor(255);
         // Branco
         $pdf->SetFillColor(255);
         // Branco
         // Posiciona o background selecionado na frente da carteirinha
         $pdf->Image(self::BASE_PATH . '/public/img/' . $this->config['bg_img_url'], self::HORIZONTAL_MARGIN, $yCoordinate, self::CARD_WIDTH, self::CARD_HEIGHT);
         // Posiciona o background selecionado no verso da carteirinha
         $pdf->Image(self::BASE_PATH . '/public/img/' . $this->config['bg_img_url'], $cardVerseX, $yCoordinate, self::CARD_WIDTH, self::CARD_HEIGHT);
         // Posiciona o logo
         $pdf->Image(self::BASE_PATH . '/public/img/' . 'logo_branco.png', self::HORIZONTAL_MARGIN + self::CARD_PADDING, $yCoordinate + self::CARD_PADDING, self::LOGO_WIDTH, self::LOGO_HEIGHT);
         $pdf->Image(self::BASE_PATH . '/public/img/' . 'logo_branco.png', $cardVerseX + self::CARD_PADDING, $yCoordinate + self::CARD_PADDING, self::LOGO_WIDTH, self::LOGO_HEIGHT);
         // Define a fonte, o tamanho e a cor do texto
         $pdf->SetFont(self::FONT, '', self::TITLE_TEXT_SIZE);
         $pdf->SetTextColor(255);
         // Branco
         // Posiciona o nome do cursinho na frente
         $titleWidth = $pdf->GetStringWidth(self::TITLE);
         $pdf->Text(self::HORIZONTAL_MARGIN + self::CARD_WIDTH - $titleWidth - self::CARD_PADDING, $yCoordinate + 9.09, self::TITLE);
         // Posiciona o nome do cursinho no verso
         $pdf->Text($cardVerseX + self::CARD_WIDTH - $titleWidth - self::CARD_PADDING, $yCoordinate + 9.09, self::TITLE);
         // Posiciona a foto do aluno
         $pdf->Image(self::BASE_PATH . '/data/profile/' . $student['img_url'], self::HORIZONTAL_MARGIN + self::CARD_PADDING, $yCoordinate + 19.4, 23.44);
         // Define a fonte, o tamanho e a cor do texto
         $pdf->SetFont(self::FONT, '', self::LABEL_TEXT_SIZE);
         $pdf->SetTextColor(20);
         // Cinza
         // Posiciona o rótulo e o campo do NOME do aluno
         $nameFieldY = $yCoordinate + 24;
         $pdf->Text($frontFieldsX, $nameFieldY - 1.35, "NOME");
         $pdf->Rect($frontFieldsX, $nameFieldY, self::FRONT_FIELDS_WIDTH, self::FRONT_FIELDS_HEIGHT, 'DF');
         // Posiciona o rótulo e o campo do RG do aluno
         $rgFieldY = $yCoordinate + 34.85;
         $pdf->Text($frontFieldsX, $rgFieldY - 1.35, "RG");
         $pdf->Rect($frontFieldsX, $rgFieldY, self::FRONT_FIELDS_WIDTH, self::FRONT_FIELDS_HEIGHT, 'DF');
         // Define a fonte e o tamanho do texto
         $pdf->SetFont(self::FONT, '', self::REGULAR_TEXT_SIZE);
         // Posiciona o NOME do aluno
         $pdf->Text($frontFieldsX + 1.5, $nameFieldY + 2.78, utf8_decode($student['name']));
         // Posiciona o RG do aluno
         $pdf->Text($frontFieldsX + 1.5, $rgFieldY + 2.7, $student['rg']);
         // Posiciona a assinatura do presidente
         $signatureTxt = self::SIGNATURE;
         $ySignatureTxt = $yCoordinate + self::CARD_HEIGHT - self::CARD_PADDING;
         $pdf->Text($cardVerseX + (self::CARD_WIDTH - $pdf->GetStringWidth($signatureTxt)) / 2, $ySignatureTxt, $signatureTxt);
         // Posiciona uma linha acima do texto da assinatura
         $pdf->Line($cardVerseX + self::CARD_WIDTH * 0.2, $ySignatureTxt - 4, $cardVerseX + self::CARD_WIDTH * 0.8, $ySignatureTxt - 4, 'DF');
         $phraseFieldY = $yCoordinate + 17;
         // Posiciona o campo da frase
         $pdf->Rect($cardVerseX + self::CARD_PADDING, $phraseFieldY, self::CARD_WIDTH - 2 * self::CARD_PADDING, self::PHRASE_FIELD_HEIGHT, 'DF');
         // Define a fonte e o tamanho do texto
         $pdf->SetFont(self::FONT, '', self::PHRASE_TEXT_SIZE);
         // Posiciona a frase no verso da carteirinha
         $pdf->SetXY($cardVerseX + self::CARD_PADDING + self::PHRASE_FIELD_PADDING, $phraseFieldY + self::PHRASE_FIELD_PADDING);
         $pdf->MultiCell(self::CARD_WIDTH - 2 * self::CARD_PADDING - 2 * self::PHRASE_FIELD_PADDING, self::PHRASE_FIELD_ROW_HEIGHT, utf8_decode($this->config['phrase']));
         // Posiciona o autor
         $pdf->Text($cardVerseX + self::CARD_WIDTH - self::CARD_PADDING - self::PHRASE_FIELD_PADDING - $pdf->GetStringWidth(utf8_decode($this->config['author'])), $phraseFieldY + self::PHRASE_FIELD_HEIGHT - self::PHRASE_FIELD_PADDING, utf8_decode($this->config['author']));
         // Define a fonte e o tamanho do texto
         $pdf->SetFont(self::FONT, '', self::EXPIRY_TEXT_SIZE);
         // Posiciona a mensagem da data de validade (Válido até <dia> de <mês> de <ano>)
         $str = utf8_decode('Válido até ' . $this->config['expiry']->format('d') . ' de ' . self::MONTHS[(int) $this->config['expiry']->format('n') - 1] . ' de ' . $this->config['expiry']->format('Y'));
         $pdf->Text(self::HORIZONTAL_MARGIN + self::CARD_WIDTH - self::CARD_PADDING - $pdf->GetStringWidth($str), $yCoordinate + self::CARD_HEIGHT - self::CARD_PADDING, $str);
         // coordenada y para construção da próxima carteirinha
         $yCoordinate += self::CARD_HEIGHT + self::GAP_BETWEEN_CARDS;
     }
     return $pdf->Output('Carteirinhas', 'I', true);
 }
 public function pdf()
 {
     $pdf = new \fpdf\FPDF();
     $pdf->AddPage();
     $pdf->SetFont('Arial', 'B', 12);
     $pdf->Cell(10, 8, 'No.', 1, 0);
     $pdf->Cell(25, 8, 'Tanggal', 1, 0);
     $pdf->Cell(40, 8, 'No. Rekening', 1, 0);
     $pdf->Cell(45, 8, 'Nama', 1, 0);
     $pdf->Cell(20, 8, 'Jumlah', 1, 0);
     $pdf->Cell(50, 8, 'Operator', 1, 1);
     $transaksi = \DB::table('transaksis')->join('users', 'users.id', '=', 'transaksis.user_id')->join('nasabahs', 'nasabahs.id', '=', 'transaksis.nasabah_id')->get();
     $no = 1;
     $pdf->SetFont('Arial', '', 12);
     foreach ($transaksi as $t) {
         $pdf->Cell(10, 8, $no, 1, 0);
         $pdf->Cell(25, 8, tgl_id($t->created_at), 1, 0);
         $pdf->Cell(40, 8, $t->no_rekening, 1, 0);
         $pdf->Cell(45, 8, $t->nama_lengkap, 1, 0);
         $pdf->Cell(20, 8, $t->total, 1, 0);
         $pdf->Cell(50, 8, $t->name, 1, 1);
         $no++;
     }
     $pdf->Output();
 }
Example #3
0
 public function __construct(Req $req, Collection $articulos)
 {
     $this->req = $req;
     $this->articulos = $articulos;
     $this->getUsuarios();
     parent::__construct('P', 'mm', 'Letter');
 }
Example #4
0
 public function __construct(Oc $oc)
 {
     $this->oc = $oc;
     parent::__construct('P', 'mm', 'Letter');
     $this->SetFillColor(230, 230, 230);
     $this->AddFont('CenturyGothic', '', 'century.php');
 }
Example #5
0
 public function __construct(Cotizacion $invitacion, $articulos)
 {
     $this->invitacion = $invitacion;
     $this->usuario_adq = \InfoDirectivos::getResponsable('ADQ');
     $this->articulos = $articulos;
     parent::__construct('P', 'mm', 'Letter');
 }
Example #6
0
 public function __construct(Cuadro $cuadro, Collection $articulos)
 {
     $this->cuadro = $cuadro;
     $this->articulos = $articulos;
     $this->req = $cuadro->req;
     parent::__construct('L', 'mm', 'Letter');
 }
Example #7
0
 public function __construct(Solicitud $solicitud)
 {
     $this->solicitud = $solicitud;
     parent::__construct('P', 'mm', 'Letter');
     $this->SetFillColor(200, 200, 200);
     $this->AddFont('CenturyGothic', '', 'century.php');
     $this->SetFont('CenturyGothic', '', '10');
     $this->getUsuarios();
 }
Example #8
0
 public function __construct($orientation = 'P', $unit = 'mm', $size = 'Letter')
 {
     /***
      * ESTA LIBRERIA DEPENDE ROTUNDAMENTE DE FPDF 
      * QUE ESTA COMO COMPLEMENTO DENTRO DEL DIRECTORIO 
      * DE "complement" SU MANUAL ESTA EN DICHO DIRECTORIO
      * DE FPDF/DOC , BASICAMENTE FPDF ES UN PUENTE A LA EXTENCION
      * ***/
     parent::__construct($orientation, $unit, $size);
 }
Example #9
0
 function __construct($orientation = 'P', $unit = 'mm', $size = 'A4')
 {
     // Call parent constructor
     parent::__construct($orientation, $unit, $size);
     // Initialization
     $this->B = 0;
     $this->I = 0;
     $this->U = 0;
     $this->HREF = '';
 }
Example #10
0
 public function __construct($title, $data, $headers, $sizes, $max_lengths)
 {
     parent::__construct();
     $this->header_text = $title;
     $this->footer_text = "Generated by [" . Session::get('user_name') . "] on [" . date("l jS \\of F Y h:i:s A") . "] - " . Config::get('VERSION');
     $this->data = $data;
     $this->col_headers = $headers;
     $this->col_sizes = $sizes;
     $this->col_max_lengs = $max_lengths;
     $this->SetTitle($title);
     $this->SetAuthor(Session::get('user_name'));
     $this->AliasNbPages();
     $this->SetFont('Arial', '', 8);
     $this->AddPage();
     $this->renderTable();
 }
Example #11
0
 public function __construct($data = array())
 {
     if ($data['tipo_formato'] == 'Entrada') {
         $this->titulo = 'COMPRAS A PROVEEDOR';
     } else {
         $this->titulo = 'ENTREGAS A DEPENDENCIA';
     }
     $this->req = $data['req'];
     $this->ref_tipo = $data['ref_tipo'];
     $this->ref = $data['ref'];
     $this->fecha_oc = $data['fecha_oc'];
     $this->d_proveedor = $data['d_proveedor'];
     $this->id = $data['id'];
     $this->fecha = $data['fecha'];
     $this->d_urg = $data['d_urg'];
     $this->cmt = $data['cmt'];
     $this->usr_id = $data['usr_id'];
     parent::__construct('P', 'mm', 'Letter');
 }
 public function Close()
 {
     parent::Close();
     // clean up tmp files
     foreach ($this->tmpFiles as $tmp) {
         @unlink($tmp);
     }
 }
 public function __construct($invoice)
 {
     parent::__construct('P', 'mm', 'A4');
     $this->addPage();
     $this->SetAutoPageBreak(TRUE, 30);
     $this->invoice = $invoice;
 }
Example #14
0
 public function setXY($x, $y)
 {
     $x += $x < $this->mindPageX ? $this->mindPageX : 0;
     $y += $y < $this->getUsed() ? $this->getUsed() : 0;
     parent::SetXY($x, $y);
 }
Example #15
0
 public function __construct($orientation = 'P', $unit = 'mm', $format = 'A4')
 {
     parent::__construct($orientation, $unit, $format);
     stream_wrapper_register('var', 'VariableStream');
 }
 /**
  * @return string
  */
 public function Export()
 {
     $assetPath = ASSETS_PATH;
     $reflowPath = REFLOW_DIR;
     $deckSegment = $this->URLSegment;
     $manager = new ProcessManager();
     $manager->setLogPath(ASSETS_PATH);
     $rule = new InMemoryRule();
     $rule->setProcesses(5);
     $rule->setMinimumProcessorUsage(0);
     $rule->setMaximumProcessorUsage(100);
     $manager->addRule($rule);
     $manager->addTask(new ProcessCallbackTask(function () use($assetPath, $deckSegment) {
         exec("mkdir {$assetPath}/{$deckSegment}/export");
     }));
     /** @var Slide $slide */
     foreach ($this->Slides() as $slide) {
         $slideLink = $slide->AbsoluteLink("Capture");
         $slideSegment = $slide->URLSegment;
         $link = rtrim($this->AbsoluteLink(), "/") . "#" . $slide->URLSegment;
         $manager->addTask(new ProcessCallbackTask(function () use($link, $assetPath, $reflowPath, $slideLink, $slideSegment, $deckSegment) {
             $client = Client::getInstance();
             $client->setBinDir($reflowPath . "/../vendor/bin");
             /**
              * @see JonnyW\PhantomJs\Message\CaptureRequest
              **/
             $request = $client->getMessageFactory()->createCaptureRequest($link, "GET");
             $request->setViewportSize(1440, 900);
             // TODO
             $request->setDelay(3);
             // TODO
             $request->setCaptureFile("{$assetPath}/{$deckSegment}/{$slideSegment}.png");
             /**
              * @see JonnyW\PhantomJs\Message\Response
              **/
             $response = $client->getMessageFactory()->createResponse();
             // Send the request
             $client->send($request, $response);
         }));
         print "Exporting: " . $slide->Title . "<br>";
     }
     $slides = [];
     /** @var Slide $slide */
     foreach ($this->Slides() as $slide) {
         $slideSegment = $slide->URLSegment;
         $slides[] = "{$assetPath}/{$deckSegment}/export/{$slideSegment}.png";
     }
     while ($manager->tick()) {
         usleep(10);
     }
     $manager->addTask(new ProcessCallbackTask(function () use($assetPath, $deckSegment, $slides) {
         $pdf = new FPDF();
         /** @var Slide $slide */
         foreach ($slides as $slide) {
             $pdf->AddPage("L", array(15 * 72, 9.380000000000001 * 72));
             $pdf->Image($slide, 0, 0, 15 * 72, 9.380000000000001 * 72);
         }
         $pdf->Output("{$assetPath}/{$deckSegment}/export.pdf", "F");
     }));
     while ($manager->tick()) {
         usleep(10);
     }
 }
Example #17
0
 public function fbarcode($valor, FPDF $PDF)
 {
     $fino = UnidadeMedida::px2milimetros(1);
     // valores em px
     $largo = UnidadeMedida::px2milimetros(2.3);
     // valor em px
     $altura = UnidadeMedida::px2milimetros(40);
     // valor em px
     $barcodes[0] = "00110";
     $barcodes[1] = "10001";
     $barcodes[2] = "01001";
     $barcodes[3] = "11000";
     $barcodes[4] = "00101";
     $barcodes[5] = "10100";
     $barcodes[6] = "01100";
     $barcodes[7] = "00011";
     $barcodes[8] = "10010";
     $barcodes[9] = "01010";
     for ($f1 = 9; $f1 >= 0; $f1--) {
         for ($f2 = 9; $f2 >= 0; $f2--) {
             $f = $f1 * 10 + $f2;
             $texto = "";
             for ($i = 1; $i < 6; $i++) {
                 $texto .= substr($barcodes[$f1], $i - 1, 1) . substr($barcodes[$f2], $i - 1, 1);
             }
             $barcodes[$f] = $texto;
         }
     }
     // Guarda inicial
     $PDF->Image(Gerador::getDirImages() . '/p.png', $PDF->GetX(), $PDF->GetY(), $fino, $altura);
     $PDF->SetX($PDF->GetX() + $fino);
     $PDF->Image(Gerador::getDirImages() . '/b.png', $PDF->GetX(), $PDF->GetY(), $fino, $altura);
     $PDF->SetX($PDF->GetX() + $fino);
     $PDF->Image(Gerador::getDirImages() . '/p.png', $PDF->GetX(), $PDF->GetY(), $fino, $altura);
     $PDF->SetX($PDF->GetX() + $fino);
     $PDF->Image(Gerador::getDirImages() . '/b.png', $PDF->GetX(), $PDF->GetY(), $fino, $altura);
     $PDF->SetX($PDF->GetX() + $fino);
     $texto = $valor;
     if (strlen($texto) % 2 != 0) {
         $texto = "0" . $texto;
     }
     // Draw dos dados
     while (strlen($texto) > 0) {
         $i = round(Substr::esquerda($texto, 2));
         $texto = Substr::direita($texto, strlen($texto) - 2);
         $f = $barcodes[$i];
         for ($i = 1; $i < 11; $i += 2) {
             if (substr($f, $i - 1, 1) == "0") {
                 $f1 = $fino;
             } else {
                 $f1 = $largo;
             }
             $PDF->Image(Gerador::getDirImages() . '/p.png', $PDF->GetX(), $PDF->GetY(), $f1, $altura);
             $PDF->SetX($PDF->GetX() + $f1);
             if (substr($f, $i, 1) == "0") {
                 $f2 = $fino;
             } else {
                 $f2 = $largo;
             }
             $PDF->Image(Gerador::getDirImages() . '/b.png', $PDF->GetX(), $PDF->GetY(), $f2, $altura);
             $PDF->SetX($PDF->GetX() + $f2);
         }
     }
     // Draw guarda final
     $PDF->Image(Gerador::getDirImages() . '/p.png', $PDF->GetX(), $PDF->GetY(), $largo, $altura);
     $PDF->SetX($PDF->GetX() + $largo);
     $PDF->Image(Gerador::getDirImages() . '/b.png', $PDF->GetX(), $PDF->GetY(), $fino, $altura);
     $PDF->SetX($PDF->GetX() + $fino);
     $PDF->Image(Gerador::getDirImages() . '/p.png', $PDF->GetX(), $PDF->GetY(), $fino, $altura);
     $PDF->SetX($PDF->GetX() + $fino);
     $PDF->Image(Gerador::getDirImages() . '/b.png', $PDF->GetX(), $PDF->GetY(), UnidadeMedida::px2milimetros(1), $altura);
     $PDF->SetX($PDF->GetX() + UnidadeMedida::px2milimetros(1));
 }
 public function __construct(EntityManagerInterface $em)
 {
     parent::__construct();
     $this->em = $em;
 }
Example #19
0
File: TPL.php Project: artack/fpdi
 /**
  * Private Method
  */
 function _out($s)
 {
     if ($this->state == 2 && $this->_intpl) {
         $this->tpls[$this->tpl]['buffer'] .= $s . "\n";
     } else {
         parent::_out($s);
     }
 }
Example #20
0
 public function Text($x, $y, $txt)
 {
     $txt = str_replace('€', '$$euro$$', $txt);
     $txt = utf8_decode($txt);
     $txt = str_replace('$$euro$$', chr(128), $txt);
     return parent::Text($x, $y, $txt);
 }
Example #21
0
 /**
  * Constructor
  * @param PDFBuilderInterface $builder
  */
 public function __construct(PdfDocumentInterface $document)
 {
     $this->setDocument($document);
     parent::__construct();
 }
Example #22
0
File: PDML.php Project: dmnc/pdml
 function _putcatalog()
 {
     parent::_putcatalog();
     if (isset($this->javascript)) {
         $this->_out('/Names <</JavaScript ' . $this->n_js . ' 0 R>>');
     }
     if (count($this->outlines) > 0) {
         $this->_out('/Outlines ' . $this->OutlineRoot . ' 0 R');
         $this->_out('/PageMode /UseOutlines');
     }
 }
Example #23
0
 function Close()
 {
     if ($this->mostrarBordas) {
         $this->Line($this->x, $this->y, $this->w - $this->lMargin, $this->y);
         if ($this->indiceQuebra >= 0) {
             $this->Cell(0, 4, $this->labelTotalQuebra . $this->regQuebra, '', 0, 'L');
         }
     }
     $this->fimRelatorio = "<<<  Fim do relatório  >>>";
     parent::Close();
 }
 /**
  * @param string $name
  * @param string $dest
  * I: send the file inline to the browser.<br>
  * D: send to the browser and force download.<br>
  * F: save to a local<br>
  * S: return as a string. name is ignored.
  * @param bool $print 1 imprime 0 nao imprime
  * @return string|void
  */
 function Output($name = '', $dest = 'I', $print = false)
 {
     if ($print) {
         $this->IncludeJS("print('true');");
     }
     parent::Output($name, $dest);
     die;
 }
 /**
  * @param Certificado $certificado
  * @throws \Exception
  */
 public function crearPdf(Certificado $certificado)
 {
     $empleado = new Empleado($certificado->cedula_empleado);
     //echo print_r($empleado);
     //$empleado = new Empleado();
     $pdf = new FPDF('P', 'cm', 'Letter');
     //$pdf = new FPDF_Protection();
     //$pdf->SetProtection(array('print'));
     $pdf->AddPage();
     $pdf->SetMargins(3, 3, 2);
     $pdf->SetAutoPageBreak(true, 1);
     $pdf->SetLineWidth(1.5);
     $pdf->SetFont('Arial');
     $pdf->Image(realpath(__DIR__ . '/../../../../assets/images/logo.png'), 14, 0.3, 5, 'PNG');
     $pdf->SetFont('Arial', '', 6);
     $pdf->Cell(17.5, 6, $certificado->id, 0, 2, 'R');
     $pdf->SetFont('Arial', '', 12);
     $pdf->Ln(0);
     $pdf->Cell(0, 0, 'Valledupar, ' . $this->formatFecha($certificado->fecha), 0, 2, 'L');
     $pdf->Ln(2);
     $pdf->Cell(0, 0, 'EL DEPARTAMENTO DE TALENTO HUMANO', 0, 2, 'C');
     $pdf->Ln(1);
     $pdf->Cell(0, 0, utf8_decode('DE LÁCTEOS DEL CESAR S.A.'), 0, 2, 'C');
     $pdf->Ln(2);
     $pdf->SetFont('Arial', 'B');
     $pdf->Cell(0, 0, 'CERTIFICA:', 0, 2, 'C');
     $pdf->Ln(2);
     $pdf->SetFont('Arial');
     $contratoEmpleado = $empleado->getContrato();
     $salario = '.';
     if ($certificado->tipo == 2) {
         $salario = ', devengando un salario básico mensual de $' . number_format($contratoEmpleado->salario) . '.';
     }
     if ($certificado->tipo == 3) {
         $salario = ', devengando un salario promedio mensual de $' . number_format($contratoEmpleado->salarioPromedio(), 0, '', '.') . '.';
     }
     $labora = 'labora';
     $feca_contratacion = "desde el " . $this->formatFecha($contratoEmpleado->fecha_ingreso);
     if ($contratoEmpleado->getEstado() == 'retirado') {
         $labora = 'laboró';
         $feca_contratacion .= ', hasta el ' . $this->formatFecha($contratoEmpleado->fecha_retiro);
     } else {
         $feca_contratacion = ' mediante contrato ' . $contratoEmpleado->getTipo() . ', ' . $feca_contratacion;
     }
     $pdf->MultiCell(0, 0.6, utf8_decode('Que el señor(a) ' . strtoupper($empleado->nombres . ' ' . $empleado->apellido1 . ' ' . $empleado->apellido2 . ' ') . 'con cédula de ciudadanía ' . $empleado->cedula . ", {$labora} en esta compañía en el cargo de " . $contratoEmpleado->getCargo()->nombre . ', ' . $feca_contratacion . $salario), 0, 'J', false);
     $pdf->Ln(2);
     $pdf->Cell(0, 0, utf8_decode('Esta certificación se expide a solicitud del interesado.'), 0, 2);
     $pdf->Ln(5);
     $pdf->Image(realpath(__DIR__ . '/../../../../assets/images/Firma.png'), 8, 19, 7, 'PNG');
     $pdf->SetFont('Arial', 'B');
     $pdf->Cell(0, 0, 'MAYRA ALEJANDRA CARO DAZA', 0, 2, 'C');
     $pdf->Ln(0.5);
     $pdf->SetFont('Arial');
     $pdf->Cell(0, 0, 'Jefe de Talento Humano', 0, 2, 'C');
     $pdf->Image(realpath(__DIR__ . '/../../../../assets/images/Pie.JPG'), 1, 25.5, 19, 'JPG');
     $pdf->Output($certificado->id . '.pdf', 'I');
     return true;
 }