Ayuda generando un PDF con AJAX
Publicado por Guillermo (6 intervenciones) el 19/08/2016 03:12:34
Hola compañeros, necesito su ayuda una vez mas. Se trata de generar un pdf con la librería FPDF, desde un script PHP y recibirla con AJAX, o eso creo yo ;-).
Ví varias opciones en foros en inglés, ninguno me convenció, pero al menos me formé una idea de como hacer las cosas. Lo que rescaté, es que muchos chocaron con, tal vez, el mismo problema que tengo yo ahora, y es que la última línea del script PHP es algo como esto:
$doc->Output ("nombre_archivo.pdf", "D");
Si ejecuto el script PHP en forma independiente, funciona perfecto. No tengo quejas de esa parte.
El tema es que cuando ejecuto el AJAX que llama a PHP, no se ejecuta el PHP, no generando el PDF. Esperaba que apareciera la caja de dialogo de "Guardar como..." el PDF.
Finalmente, la pregunta es: ¿cómo hago para que el script PHP genere y me muestre la caja de "Guardar como..." desde el AJAX.
Les adjunto algo del código, resumido, para que me den alguna recomendación por favor:
Código PHP:
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->AddPage('P','Letter');
$pdf->Output("nombre_archivo.pdf", "D"); //Salida al navegador
Hasta aquí todo bien. Ahora va el código AJAX:
$.ajax({
var url = "inventario.php"; // El script a dónde se realizará la petición.
type: "POST",
url: url,
data: $("#salida").serialize(), // Adjuntar los campos del formulario enviado.
//por medio de data rescatamos el código de error interno del script php
//luego se compara para ejecutar acciones acorde.
success: function(data)
{
... ¿que hago aquí?...
... ¿debo hacer algo?...
... en este espacio se supone que "sale o retorna" el PDF desde PHP
}
});
return false;
Si pudieran ayudarme con esto por favor.
Gracias.
Ví varias opciones en foros en inglés, ninguno me convenció, pero al menos me formé una idea de como hacer las cosas. Lo que rescaté, es que muchos chocaron con, tal vez, el mismo problema que tengo yo ahora, y es que la última línea del script PHP es algo como esto:
$doc->Output ("nombre_archivo.pdf", "D");
Si ejecuto el script PHP en forma independiente, funciona perfecto. No tengo quejas de esa parte.
El tema es que cuando ejecuto el AJAX que llama a PHP, no se ejecuta el PHP, no generando el PDF. Esperaba que apareciera la caja de dialogo de "Guardar como..." el PDF.
Finalmente, la pregunta es: ¿cómo hago para que el script PHP genere y me muestre la caja de "Guardar como..." desde el AJAX.
Les adjunto algo del código, resumido, para que me den alguna recomendación por favor:
Código PHP:
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->AddPage('P','Letter');
$pdf->Output("nombre_archivo.pdf", "D"); //Salida al navegador
Hasta aquí todo bien. Ahora va el código AJAX:
$.ajax({
var url = "inventario.php"; // El script a dónde se realizará la petición.
type: "POST",
url: url,
data: $("#salida").serialize(), // Adjuntar los campos del formulario enviado.
//por medio de data rescatamos el código de error interno del script php
//luego se compara para ejecutar acciones acorde.
success: function(data)
{
... ¿que hago aquí?...
... ¿debo hacer algo?...
... en este espacio se supone que "sale o retorna" el PDF desde PHP
}
});
return false;
Si pudieran ayudarme con esto por favor.
Gracias.
Valora esta pregunta


0