Imprimir archivo directamente desde el servidor en impresora de red


Antes de nada debemos recordar que ASP es un lenguaje de servidor, lo que significa que se ejecuta en el servidor, nunca en el ordenador del usuario, por lo que todo lo que se haga en ASP será realizado en el servidor donde está alojada nuestra Web. En este caso si quisiéramos que fuera el usuario el que imprimiese una página, deberíamos hacerlo con JavaScript (Imprimir página Web).

El código, crea un objeto FileSystemObject, con el que se manejan las instancias a archivos.

La variable objImpresora, en teoría crea un archivo de salida, pero lo direcciona al puerto de impresión, lo que hará que se envíe e la impresora de red, si la impresora que quisiésemos estuviese en el segundo puerto, sería LPT2 ó LPT3 en el tercero, etc.

Después se crea el fichero a abrir para imprimir, a partir de la dirección física de nuestro servidor, pasado por la variable de servidor APPL_PHYSICAL_PATH. A continuación habría que añadir la subruta y el nombre del fichero que quisiéramos imprimir.

A continuación pasa el contenido del "fichero" a la impresora y añade el carácter de avance de página (vbFormFeed)
Por último cierra todas las instancias.



Código:
<%@ Language=VBScript %>
<%
'Copyright © www.McAnam.com
'http://www.mcanam.com/articulos/ASP.php?id=6

Dim objFSO
Dim objFichero
Dim objImpresora

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

Set objImpresora = objFSO.CreateTextFile("LPT1:", True)
Set objFichero = objFSO.OpenTextFile(request.serverVariables("APPL_PHYSICAL_PATH") &amp;amp;amp;amp;amp; "archivo.ext", 1, True)

objImpresora.Write objFichero.ReadAll
objImpresora.Write vbFormFeed

objImpresora.Close
Set objImpresora = Nothing
Set objFichero = Nothing
Set objFSO = Nothing

%>

Links relacionados:
Imprimir página Web del lado del usuario
Leer líneas de un archivo con la función file (PHP)
Compresión de ficheros con PHP a GZIP
Descompresión de ficheros de tipo GZIP con PHP
Guardar archivos enviados por un formulario en el servidor con PHP


Para cualquier duda, consulta, sugerencia, opinión, colaboración, etc; no dude en ponerse en contacto con nosotros

Copyright © 2002-2017 [McAnam]. Reservados todos los derechos.
www.mcanam.com