getResourceForPdf($albaran_id)->get()->getRow(); $data['albaranLineas'] = $lineasAlbaranModel->getResourceForPdf($albaran_id)->get()->getResultObject(); return view(getenv('theme.path') . 'pdfs/albaran', $data); } public function generar($albaran_id) { // Cargar modelos $albaranModel = model('App\Models\Pedidos\AlbaranModel'); $lineasAlbaranModel = model('App\Models\Pedidos\AlbaranLineaModel'); // Informacion del presupuesto $data['albaran'] = $albaranModel->getResourceForPdf($albaran_id)->get()->getRow(); $data['albaranLineas'] = $lineasAlbaranModel->getResourceForPdf($albaran_id)->get()->getResultObject(); // 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/albaran', $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-$albaran_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); } }