Imprimir html y que php se entere

Boris Cruchet b en guliv.cl
Lun Ene 15 10:03:59 CLST 2007


efectivamente de buenas a primeras no hay forma de que PHP se entere de lo
que hace el cliente con su navegador una vez desplegada la paguina.

pero ... lo que te queda es usar Ajax ... me parece raro que nadia lo alla
planteado.

has lo siguiente ...

el la pagina con el boton imprimir colocal esto:
----------------------------------------------------------
<script language="javascript">
var http = getXmlHttpObject();

function getXmlHttpObject(){
    var xmlhttp;

    /*@cc_on
    @if (@_jscript_version >= 5)
    try{
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e){
    try{
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e){
    xmlhttp = false;
    }
    }
    @else
    xmlhttp = false;
    @end @*/

    if (!xmlhttp && typeof XMLHttpRequest != 'undefined'){
        try{
            xmlhttp = new XMLHttpRequest();
        }
        catch (e){
            xmlhttp = false;
        }
    }
    return xmlhttp;
}

function enviarConfirmacion(){
    http.open("GET", "captura_impresion.php?imp=1", true);
    http.send(null);
}

function Imprimir()
{
    enviarConfirmacion();
    document.print();
}
</script>
----------------------------------------------------------

luego ... el boton IMPRIMIR deberia llamar a la funcion javascript Imprimir()

el archivo "captura_impresion.php" podria ser como esto

----------------------------------------------------------
<?php
if (isset($_GET['imp']))
{
    // aqui dejas el log de impresion en una base de datos
    // $_GET['imp'] podria ser un codigo para saber que
    // fue lo que se imprimio
}
?>
----------------------------------------------------------


Algo mas o menos asi ... el codigo es al vuelo, pero en teoria deberia
hacer mas o menos esto:

1.- el cliente presiona el boton imprimir
2.- se ejecuta Imprimir().
2.1.- imprimir llama a confirmarImpresion(), que mediante JAVASCRIPT envia
un consulta GET al servidor web, al archivo "captura_impresion.php".
2.2.- se imprime el documento

3.- "captura_impresion.php" recibe la variable $_GET['imp'] y la almacena
en base de datos.

4.- todos felices.


ahora, lo unico de lo que podemos esta seguros con todo esto ... es que el
cliente presiono el boton imprimir ... NADA MAS ... si el documento
realmente se imprimio ... no lo sabremos.

espero sea de ayuda!

Saludos
Boris Cruchet


> Hola, estoy generando unos documentos html, los cuales tienen que
> imprimirse, como podría hacer que php se entere que efectué una orden de
> impresión?, y quizás es mucho pedir, pero, que php se entere si se
> efectuó con éxito la impresión, se pudría?¿.
>
> Disculpen la patudes, pero ayuden me :), ya que estoy pegando palos de
> ciego y lo necesito ojala para las 13:00 de hoy.
>
> Saludos cordiales
>
> Eduardo Aguila.
>




Más información sobre la lista de distribución PHP