getResourceForPdf($id_factura)->get()->getRow(); $data['lineas_factura'] = $lineasFacturaModel->getResourceForPdf($id_factura)->get()->getResultObject(); $data['resumen_por_iva'] = $lineasFacturaModel->getResourceResumenIVAsForPdf($id_factura)->get()->getResultObject(); return view(getenv('theme.path') . 'pdfs/factura', $data); } public function generar($id_factura) { // Cargar modelos $facturaModel = model('App\Models\Facturas\FacturaModel'); $lineasFacturaModel = model('App\Models\Facturas\FacturaLineaModel'); // Informacion del presupuesto $data['factura'] = $facturaModel->getResourceForPdf($id_factura)->get()->getRow(); $data['lineas_factura'] = $lineasFacturaModel->getResourceForPdf($id_factura)->get()->getResultObject(); $data['resumen_por_iva'] = $lineasFacturaModel->getResourceResumenIVAsForPdf($id_factura)->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/factura', $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 = $data['factura']->numero . ".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); } }