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$.ajax({
data:....
type:'GET',
dataType:"html",
url:"imprime.php"
}).done(function(resultado){
document.location = resultado;
});
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<?php
require('fpdf.php');
class PDF extends FPDF
{
// Cabecera de página
{
$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();
//En lugar de abrir con javascript el documento, simplmente imprimimos el nombre del documento que generamos:
//echo "<script language='javascript'>window.open('reporte.pdf','_ blank','');</script>";
echo 'reporte.pdf';
// ese nombre será leido por nuestra función que se ejecuta al finalizar la petición AJAX
?>