Foros del Web » Programando para Internet » Jquery »

pdf con jquery

Estas en el tema de pdf con jquery en el foro de Jquery en Foros del Web. que tal amigos... espero me den una mano con lo siguiente... Tengo un formulario con un boton id="imprime" y luego $('#imprime').click(function(){ $.ajax({ data:.... type:'GET', dataType:"html", ...
  #1 (permalink)  
Antiguo 12/05/2012, 00:12
 
Fecha de Ingreso: agosto-2006
Mensajes: 125
Antigüedad: 17 años, 8 meses
Puntos: 1
pdf con jquery

que tal amigos...
espero me den una mano con lo siguiente...

Tengo un formulario con un boton id="imprime"
y luego

$('#imprime').click(function(){

$.ajax({
data:....
type:'GET',
dataType:"html",
url:"imprime.php"

})

})

imprime.php

<?php
require('fpdf.php');
class PDF extends FPDF
{
// Cabecera de página
function Header()
{

$this->SetFont('Arial','B',10);
// Movernos a la derecha
$this->Cell(10);
// Título
$this->Cell(0,6,'titulo.',0,2,'C');

// Salto de línea
$this->Ln(10);

}
.....
$pdf = new PDF();
$pdf->Output("reporte.pdf","I");
$pdf->AddPage();
echo "<script language='javascript'>window.open('reporte.pdf','_ blank','');</script>";
?>

la cosa es que cunado corro todo, es decir me aparece le formulario hago click en boton id="imprime" no me muestra el pdf...

sin embargo si corro el archivo imprime.php, tengo el doc. pdf

alguna idea de porque pasa esto?
  #2 (permalink)  
Antiguo 12/05/2012, 13:25
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: pdf con jquery

Primero, siempre que pongas código en el foro usá la herramienta highlight que así no se entiende nada :)

Respecto a tu problema, es más que esperable que ocurra eso si estás utilizando ajax.

Lo que tenés que hacer es algo así:

Código Javascript:
Ver original
  1. $.ajax({
  2.     data:....
  3.     type:'GET',
  4.     dataType:"html",
  5.     url:"imprime.php"
  6. }).done(function(resultado){
  7.     document.location = resultado;
  8. });

Es decir, cuando imprime.php termine de ejecutarse, enviará a la función en .done() el argumento resultado con el nombre del documento que generó. Entonces redirijimos.

Tenés que modificar un poco imprime.php para que le envíe el nombre del documento al archivo que ejecutó la petición por ajax.

Código PHP:
Ver original
  1. <?php
  2.     require('fpdf.php');
  3.     class PDF extends FPDF
  4.     {
  5.     // Cabecera de página
  6.     function Header()
  7.     {
  8.  
  9.     $this->SetFont('Arial','B',10);
  10.     // Movernos a la derecha
  11.     $this->Cell(10);
  12.     // Título
  13.     $this->Cell(0,6,'titulo.',0,2,'C');
  14.  
  15.     // Salto de línea
  16.     $this->Ln(10);
  17.  
  18.     }
  19.     .....
  20.     $pdf = new PDF();
  21.     $pdf->Output("reporte.pdf","I");
  22.     $pdf->AddPage();
  23.     //En lugar de abrir con javascript el documento, simplmente imprimimos el nombre del documento que generamos:
  24.     //echo "<script language='javascript'>window.open('reporte.pdf','_ blank','');</script>";
  25.     echo 'reporte.pdf';
  26.     // ese nombre será leido por nuestra función que se ejecuta al finalizar la petición AJAX
  27. ?>
__________________
nahueljose.com.ar
  #3 (permalink)  
Antiguo 13/05/2012, 10:34
 
Fecha de Ingreso: agosto-2006
Mensajes: 125
Antigüedad: 17 años, 8 meses
Puntos: 1
Respuesta: pdf con jquery

ok...
de antemano acojo tus sugerencias...
gracias, voy a probarlo...
De nuevo gracias...

Etiquetas: ajax, formulario, html, javascript, pdf, php, botones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:58.