// Shortcode para mostrar el formulario de inventario dinámico function custom_inventory_form_pdf() { ob_start(); // Iniciar el buffer de salida ?>
getMessage()); } } return ob_get_clean(); // Retorna el contenido generado por el buffer de salida } add_shortcode('custom_inventory_form_pdf', 'custom_inventory_form_pdf'); // Función para generar PDF utilizando TCPDF function generate_pdf() { // Verificar si todos los datos han sido enviados correctamente if (!isset($_POST['inventory_date']) || !isset($_POST['owner_name']) || !isset($_POST['tenant_name'])) { error_log('Datos del formulario faltantes'); return; } require_once(plugin_dir_path(__FILE__) . 'tcpdf/TCPDF-main/TCPDF-main/tcpdf.php'); // Crear el PDF $pdf = new TCPDF(); $pdf->AddPage(); $pdf->SetFont('Helvetica', '', 12); // Capturar los datos del formulario $pdf->Write(0, "Fecha: " . $_POST['inventory_date']); $pdf->Ln(); $pdf->Write(0, "Propietario: " . $_POST['owner_name']); $pdf->Ln(); $pdf->Write(0, "Inquilino: " . $_POST['tenant_name']); $pdf->Ln(); if (isset($_POST['section_name']) && isset($_POST['item_name'])) { foreach ($_POST['section_name'] as $index => $section_name) { $pdf->Write(0, "Sección: " . $section_name); $pdf->Ln(); foreach ($_POST['item_name'] as $item_index => $item_name) { $condition = $_POST['item_condition'][$index][$item_index]; $details = $_POST['item_details'][$item_index]; $pdf->Write(0, "Elemento: " . $item_name . ", Condición: " . $condition . ", Detalles: " . $details); $pdf->Ln(); } } } else { $pdf->Write(0, "No hay datos de secciones o elementos."); $pdf->Ln(); } // Enviar los headers adecuados para la descarga del PDF header('Content-Type: application/pdf'); header('Content-Disposition: attachment; filename="inventario.pdf"'); header('Cache-Control: max-age=0'); // Generar el archivo PDF $pdf->Output('inventario.pdf', 'D'); // Descargar PDF automáticamente exit(); // Terminar el script para evitar que se procese el resto de la página }