No se si es posible una solucion comun. Esto es mas bien un atajo.

Supongamos que en nuestra aplicacion web queremos imprimir un informe
o una carta o una factura o en definitiva un documento HTML generado dinamicamente
para mandarselo a alguien.

El Internet Exploiter se empeña en meter una cabecera y un pie de página cuando imprimimos una página del navegador. El Firefox en Debian tambien se empeña. Esta claro que a un cliente no se le puede mandar una factura con cabeceras de navegador con un ID de sesion y un churro de variables GET ocupando toda la linea.
Todavia no tengo claro que exista una solución unica e universal para solucionar este problema. Lo deseable es que el usuario no tenga que tocar nada en su navegador.

Navegando por la red te puedes encontrar diversas soluciones:

* Usar CSS: vale, se podia intuir pero no encuentro un ejemplo simple y que funcione
* Usar un activeX que modifica el registro para que no se impriman esos encabezados. No comment.

A ver si algun dia encuentro la del CSS...
Una solución bastante rapida y viable
En el caso concreto que me ocupa es una aplicacion php en linux, asi que se me ocurre: Lo fácil seria generar un pdf. Desde PHP tenemos tres opciones, para dos de ellas es preciso tener soportes especificos no habituales (soporte pdflib). Otra es una clase que simplemente podemos incluirla ("pdf.php"). Aunque su uso se complica si tenemos necesidades como las tildes o cualquier cosa que se salga de bloques de texto. Echad un ojo en http://www.fpdf.org, tiene ejemplos documentados.

Esta es la buena: http://www.htmldoc.org
Si tenemos la opcion de instalar programas en la maquina, podemos meter htmldoc, un software que convierte documentos HTML a PDF. Lo podemos invocar desde linea de comandos,
y para generar un pdf "al vuelo" tendriamos que modificar el header e invocar passthru:
<?php

// Definimos esta funcion que invocaremos mas adelante
function generapdf ($fichero, $opciones = "") {

   # Establecemos determinado ContentType. El navegador del cliente
   # ya sabe lo que le espera...
   header("Content-Type: application/pdf");
   flush();

   # Ejecutamos passthru y el resultado le va directamente al cliente
   # Atencion a la opcion "footer ." : evita que se numere la pagina.
   passthru("htmldoc -t pdf --quiet --footer . --jpeg --webpage $opciones '$fichero'");
}

generapdf("http://localhost/generahtml.php?cod=". $cliente);

?>

Ahora la unica preocupacion es generar un documento HTML (chupao) y de ahi se genera directamente el pdf.
Nota: como se puede ver, usar htmldoc requiere ser root de la maquina o ser amiguete del
sysadmin. Para casos en los que no tengamos esa suerte siempre nos quedara www.fpdf.org, una solucion viable para hosting compartidos en los que no tengamos control de la maquina.