Script en VBScript que sirve para imprimir una página web en la impresora predeterminada, sin que se llegue a mostrar la ventana de diálogo de impresión de un documento.
En este artículo, eminentemente práctico, vamos a ver cómo imprimir una página web sin que se pida confirmación al usuario y sin visualizar la ventana previa de impresión. En este caso, lógicamente, la impresión se realizaría en la impresora configurada como predeterminada en el sistema cliente y con las opciones definidas por defecto para esa impresora.
Es un script en el lenguaje VBScript, que como probablemente sepamos, sólo será compatible con Internet Explorer. Si alguien conoce cómo se puede hacer esto con Javascript (si es que es posible), para que sea compatible con todos los navegadores, le ruego que incluya un comentario al artículo para compartir la información.
El código está comentado para que se pueda entender cada paso que se realiza.
<html>
<head>
<script language="VBScript">
SUB Print()
OLECMDID_PRINT = 6
OLECMDEXECOPT_DONTPROMPTUSER = 2
OLECMDEXECOPT_PROMPTUSER = 1
'ACA en caso de usar frames,
'enfocamos el frame a imprimir:
'window.parent.frames.main.document.body.focus()
window.document.body.focus()
'Llamamos al comando de Impresión Print
on error resume next
call IEWB.ExecWB (OLECMDID_PRINT, -1)
if err.number <> 0 then
alert "No se pudo imprimir"
end if
END SUB
</script>
</head>
<body>
<object id="IEWB" width="0" height="0" classid="clsid:8856F961-340A-11D0-A96B-00C04FD705A2" VIEWASTEXT></object>
Esta es una prueba de una página que se va a imprimir, pulsando el enlace de más abajo, sin pedir confirmación al usuario.
<a href="javascript:Print ();">Imprimir</a>
</body>
</html>
El ejemplo se puede ver en marcha en una página aparte. Recordar que sólo funcionará en Internet Explorer.
Es un script en el lenguaje VBScript, que como probablemente sepamos, sólo será compatible con Internet Explorer. Si alguien conoce cómo se puede hacer esto con Javascript (si es que es posible), para que sea compatible con todos los navegadores, le ruego que incluya un comentario al artículo para compartir la información.
El código está comentado para que se pueda entender cada paso que se realiza.
<html>
<head>
<script language="VBScript">
SUB Print()
OLECMDID_PRINT = 6
OLECMDEXECOPT_DONTPROMPTUSER = 2
OLECMDEXECOPT_PROMPTUSER = 1
'ACA en caso de usar frames,
'enfocamos el frame a imprimir:
'window.parent.frames.main.document.body.focus()
window.document.body.focus()
'Llamamos al comando de Impresión Print
on error resume next
call IEWB.ExecWB (OLECMDID_PRINT, -1)
if err.number <> 0 then
alert "No se pudo imprimir"
end if
END SUB
</script>
</head>
<body>
<object id="IEWB" width="0" height="0" classid="clsid:8856F961-340A-11D0-A96B-00C04FD705A2" VIEWASTEXT></object>
Esta es una prueba de una página que se va a imprimir, pulsando el enlace de más abajo, sin pedir confirmación al usuario.
<a href="javascript:Print ();">Imprimir</a>
</body>
</html>
El ejemplo se puede ver en marcha en una página aparte. Recordar que sólo funcionará en Internet Explorer.
Darwin Manuel Díaz Garrampié
Br. Ing. de Sistemas - Universidad Nacional de Trujillo