/** * 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(); }
public function __construct(Req $req, Collection $articulos) { $this->req = $req; $this->articulos = $articulos; $this->getUsuarios(); parent::__construct('P', 'mm', 'Letter'); }
public function __construct(Oc $oc) { $this->oc = $oc; parent::__construct('P', 'mm', 'Letter'); $this->SetFillColor(230, 230, 230); $this->AddFont('CenturyGothic', '', 'century.php'); }
public function __construct(Cotizacion $invitacion, $articulos) { $this->invitacion = $invitacion; $this->usuario_adq = \InfoDirectivos::getResponsable('ADQ'); $this->articulos = $articulos; parent::__construct('P', 'mm', 'Letter'); }
public function __construct(Cuadro $cuadro, Collection $articulos) { $this->cuadro = $cuadro; $this->articulos = $articulos; $this->req = $cuadro->req; parent::__construct('L', 'mm', 'Letter'); }
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(); }
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); }
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 = ''; }
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(); }
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; }
public function setXY($x, $y) { $x += $x < $this->mindPageX ? $this->mindPageX : 0; $y += $y < $this->getUsed() ? $this->getUsed() : 0; parent::SetXY($x, $y); }
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); } }
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; }
/** * Private Method */ function _out($s) { if ($this->state == 2 && $this->_intpl) { $this->tpls[$this->tpl]['buffer'] .= $s . "\n"; } else { parent::_out($s); } }
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); }
/** * Constructor * @param PDFBuilderInterface $builder */ public function __construct(PdfDocumentInterface $document) { $this->setDocument($document); parent::__construct(); }
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'); } }
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; }