// 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
}