Bueno, es que para reportes web no se ha creado algo tan completo (al menos que yo sepa) como cristal reports, agatha si es para php, pero para PHP-GTK en realidad, es decir, para php con interfaces de usuario tipo window, fpdf es tu mejor opcion, ya que te permite configurar el resultado a tu antojo, porque hacer landscape automático con html es todavía un sueño... y con fpdf es genial, les paso este codigo mágnifico que encontre hace tiempo para que el pdf muestre el dialogo imprimir automáticamente:
Código PHP:
<?php
class PDF_Javascript extends FPDF {
var $javascript;
var $n_js;
function __construct($orientation='P',$uni='mm',$format='Letter') {
parent::__construct($orientation,$uni,$format);
}
function IncludeJS($script) {
$this->javascript=$script;
}
function _putjavascript() {
$this->_newobj();
$this->n_js=$this->n;
$this->_out('<<');
$this->_out('/Names [(EmbeddedJS) '.($this->n+1).' 0 R ]');
$this->_out('>>');
$this->_out('endobj');
$this->_newobj();
$this->_out('<<');
$this->_out('/S /JavaScript');
$this->_out('/JS '.$this->_textstring($this->javascript));
$this->_out('>>');
$this->_out('endobj');
}
function _putresources() {
parent::_putresources();
if (!empty($this->javascript)) {
$this->_putjavascript();
}
}
function _putcatalog() {
parent::_putcatalog();
if (isset($this->javascript)) {
$this->_out('/Names <</JavaScript '.($this->n_js).' 0 R>>');
}
}
}
class PDF_AutoPrint extends PDF_Javascript
{
function __construct($orientation='P',$uni='mm',$format='Letter') {
parent::__construct($orientation,$uni,$format);
}
function AutoPrint($dialog=false)
{
$param=($dialog ? 'true' : 'false');
$script="print(".$param.");";
$this->IncludeJS($script);
}
}
?>
solo lo incluyen junto con el fpdf, crean la instancia con la calse PDF_AutoPrint y establecen a true con el método: AutoPrint