getResourceForPdf($id_presupuesto)->get()->getRow(); $data['lp_ByN'] = $lineasPresupuestoModel->getResourceByNForPdf($id_presupuesto)->get()->getRow(); $data['lp_Color'] = $lineasPresupuestoModel->getResourceColorForPdf($id_presupuesto)->get()->getRow(); return view(getenv('theme.path') . 'pdfs/presupuesto', $data); } public function generar($presupuesto_id) { // Cargar modelos $presupuestoModel = model('App\Models\Presupuestos\PresupuestoModel'); $lineasPresupuestoModel = model('App\Models\Presupuestos\PresupuestoLineaModel'); // Informacion del presupuesto $data['presupuesto'] = $presupuestoModel->getResourceForPdf($presupuesto_id)->get()->getRow(); $data['lp_ByN'] = $lineasPresupuestoModel->getResourceByNForPdf($presupuesto_id)->get()->getRow(); $data['lp_Color'] = $lineasPresupuestoModel->getResourceColorForPdf($presupuesto_id)->get()->getRow(); // Crear una instancia de Dompdf $options = new \Dompdf\Options(); $options->set('isHtml5ParserEnabled', true); $options->set('isPhpEnabled', true); $options->set('isRemoteEnabled', true); $dompdf = new \Dompdf\Dompdf($options); // Contenido HTML del documento $dompdf->loadHtml(view(getenv('theme.path').'pdfs/presupuesto', $data)); // Establecer el tamaƱo del papel $dompdf->setPaper('A4', 'portrait'); // Renderizar el PDF $dompdf->render(); // Obtener el contenido generado $output = $dompdf->output(); // Establecer las cabeceras para visualizar en lugar de descargar $file_name = "presupuesto-$presupuesto_id.pdf"; return $this->response ->setStatusCode(200) ->setHeader('Content-Type', 'application/pdf') ->setHeader('Content-Disposition', 'inline; filename="' . $file_name . '"') ->setHeader('Cache-Control', 'private, max-age=0, must-revalidate') ->setHeader('Pragma', 'public') ->setHeader('Content-Length', strlen($output)) ->setBody($output); } }