Como imprimir «silenciosamente» desde diferentes navegadores

En este Post vamos a tratar el tema de imprimir «silenciosamente» desde los diferentes navegadores. Esto quiere decir que la web pueda imprimir en la impresora por defecto sin necesidad de preguntar al usuario.

Como os imaginais, esto no es un comportamiento deseado en una web cualquiera. Pero para ciertos casos puede ser util, intranets, impresión de facturas, etc. Siempre webs en las que el usuario final y el desarrollador se ponen de acuerdo, puesto que siempre requiere de una acción del usuario en su navegador para funcionar.

Así que vamos caso a caso.

Internet Explorer

En IE la opción más sencilla es crear un pequeño script de Visual Basic que imprima y llamarlo desde Javascript. Para que esto funcione, hay que bajar los niveles de seguridad. Por lo que lo mejor es añadir el site en cuestión a Sitios de confianza, en opciones de Internet de IE.

Os dejo el código:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="x-ua-compatible" content="IE=10">
</head>
<body>
    Esta Página Imprimirá y se cerrará
    <script language="VBScript">
        sub Print()
            OLECMDID_PRINT = 6
            OLECMDEXECOPT_DONTPROMPTUSER = 2
            OLECMDEXECOPT_PROMPTUSER = 1
            call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1)
        End Sub
        document.write "<object id='WB' width='0' height='0' classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>"
    </script>
    <script type="text/javascript">
            Print();
            window.onfocus=function(){ window.close();}
    </script>
</body>
</html>

Firefox

Para firefox existe un Add-on llamado JS Print Setup que te permite hacer esto. Para mantener los estándares de seguridad, al añadir el Add-on, hay que ir a sus opciones, añadir el site, a sitios con permiso, y marcar la opción que solo los sites con permiso puedan acceder al plugin.

Una vez hecho esto, el uso es muy sencillo, una simple llamada de Javascript valdría:

<script type="text/javascript">
   function Imprimir(){
            jsPrintSetup.setOption('printSilent', 1);
            jsPrintSetup.print();
   }
</script>

Chrome

Para imprimir en Chrome, se puede hacer desde el modo Kiosk. Para esto se puede crear un acceso directo a chrome con los tags –kiosk –kiosk-printing.

chrome.exe –kiosk –kiosk-printing http://url

Recordar que para salir del modo Kiosk, hay que pulsar ALT+F4.

Os dejo un video que lo explica:

https://www.youtube.com/watch?v=D6UHjuvI7IE


1 Comentarios

  • simon oviedo

    Hola, trate el codigo pero no me funciono, estoy tratando de imprimir desde firefox usando una pagina hecha en pphp. gracias por tu ayuda.

No se admiten comentarios.