require 'vendor/itbz/fpdf/src/fpdf/FPDF.php'; require 'vendor/itbz/fpdi/src/fpdi/FPDI.php'; Connection::conecting(); $file_id = $_GET['file']; $file_id = strip_tags(htmlspecialchars($file_id)); $file_id = filter_var($file_id, FILTER_SANITIZE_NUMBER_INT); $file_id = filter_var($file_id, FILTER_VALIDATE_INT); if (!$file_id) { echo 'no es un id valido'; } else { $archivo = Archivo::find($file_id); if (count($archivo) > 0) { $pdf = new \fpdi\FPDI(); $pageCount = $pdf->setSourceFile('uploads/lecciones/' . $archivo->nombre); for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) { $templateId = $pdf->importPage($pageNo); $size = $pdf->getTemplateSize($templateId); if ($size['w'] > $size['h']) { $pdf->AddPage('L', array($size['w'], $size['h'])); } else { $pdf->AddPage('P', array($size['w'], $size['h'])); } $pdf->useTemplate($templateId); $pdf->SetFont('Helvetica'); $pdf->SetXY(5, 5); } $pdf->Output('file.pdf', 'I'); } else { echo 'no existe el archivo'; } }
public function generate() { $container = $this->view->getViewHelperVariableContainer(); if ($container->exists('Famelo\\Pdf\\ViewHelpers\\Fpdi\\DefaultsViewHelper', 'defaults')) { $defaults = $container->get('Famelo\\Pdf\\ViewHelpers\\Fpdi\\DefaultsViewHelper', 'defaults'); } if ($container->exists('Famelo\\Pdf\\ViewHelpers\\Fpdi\\TemplateViewHelper', 'template')) { $template = $container->get('Famelo\\Pdf\\ViewHelpers\\Fpdi\\TemplateViewHelper', 'template'); } if ($container->exists('Famelo\\Pdf\\ViewHelpers\\Fpdi\\TextViewHelper', 'texts')) { $texts = $container->get('Famelo\\Pdf\\ViewHelpers\\Fpdi\\TextViewHelper', 'texts'); } $fpdi = new \fpdi\FPDI(); $fpdi->AddPage(); $fpdi->setSourceFile($template); $fpdi->useTemplate($fpdi->importPage(1), 0, 0, 0); foreach ($texts as $text) { foreach ($defaults as $key => $value) { if (isset($text[$key]) && !empty($text[$key])) { continue; } $text[$key] = $value; } $text['font-weight'] = $text['font-weight'] == 'bold' ? 'B' : ''; $fpdi->SetFont($text['font'], $text['font-weight'], $text['font-size']); #$fpdi->SetTextColor($page[$i][$x]['color_r'], $page[$i][$x]['color_b'], $page[$i][$x]['color_g']); $fpdi->SetXY($text['x'], $text['y']); $fpdi->Write(0, $text['content']); } return $fpdi; }