Ecco come ho risolto:
Ho effettuato il redirect tramite LOCATION alla pagina che volevo.
codice:
header("Location: pagina.php?val=$dati");
In questa ho impostato un javascript che mi apre una nuova finestra dove ci sono i dati da stampare.
codice:
<script language="JavaScript">
newwindow=window.open
("dati.php?action=stampa&val={$s.data}")
newwindow.creator=self
</script>
(la sintassi {$s.data} è quella di Smarty)
Una volta aperta la finestra un altro JS invoca il processo di stampa.
codice:
<SCRIPT Language="Javascript">
function printit(){
if (NS) {
window.print() ;
} else {
var WebBrowser = '<OBJECT ID="WebBrowser1"
WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
</OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
WebBrowser1.ExecWB(6, 2);
WebBrowser1.outerHTML = "";
}
}
</script>
<SCRIPT Language="Javascript">
var NS = (navigator.appName == "Netscape");
var VERSION = parseInt(navigator.appVersion);
if (VERSION > 3) {
printit();
}
</script>
Sembra funzionare egregiamente eccetto che la finestra è un popup (a grandezza standard ma sempre un popup) e quindi bisogna abilitare i popup per vederla.
Per ora va bene anche così... ma mi riservo di trovare una soluzione alternativa...
Grazie per l'aiuto.