PDA

Ver la Versión Completa : Imprimir por D.O.S.


walito
12-05-2010, 02:26:18
Buenas...

Hace mucho que no programaba en delphi :D y un cliente me salto con un problema.

Resulta que tienen sistemas que funcionan en DOS sobre windows y necesitan imprimir, el sistema funciona imprimiendo en LPT, pero tienen impresoras USB...

Mi consulta es, puedo hacer algun programita que capture todo lo que va al LPT y redireccionarlo al USB?

Gracias

walito

MAXIUM
12-05-2010, 02:54:10
Algo recuerdo sobre que debes configurar dicha impresora para que aparezca compartida y luego...

LPT1 a USB:

Breve explicacion:

Programas realizado en MS-DOS, mandan impresion a LPT1, en LPT1 no hay conexion fisica, y la impresion se va al aire.

Solucion:

Simular el puerto LPT1.

Pasos a seguir:

Leer todo, y luego ejecutar.

1.- Ve a Inicio > Impresoras y faxes

Apareceran las impresoras disponibles. Haz click con el boton derecho del mouse sobre la impresora con la cual quieres imprimir los datos de tu programa. Selecciona la opcion <Compartir...>

1.2.- Seleciona la opcion: Compartir esta impresora, y asignale un nombre (anota el nombre que le des).

:: Importante ::

Acabas de compartir tu impresora, hay 2 casos:

Caso 1: Estas en un grupo de trabajo o dominio.

Si estas en un grupo de trabajo, o dominio, las personas que esten en el, podran visualizar tu impresora por el nombre que asignaste anteriormente, ademas de verla podran mandar impresiones a ella. Si este es tu caso, y no quieres que los demas vean tu impresora, Al final del nombre de la impresora (1.2), agregale un $, por ejemplo: HP$

Esto hara que tu impresora no sea visible, y los demas no sabran que la tienes compartida.

Caso 2: No estas dentro de una red local

recomiendo de = forma el $ al final del nombre ;)

2.- Saber el nombre de tu equipo, tan simple como presionar la tecla WINDOW+PAUSE INSER(esta en la parte superior del teclado). Propiedades del Sistema > Nombre de Equipo

Anota la info que aparece en Nombre completo del equipo:

Con esto ya estariamos listos.

Tienes el nombre de tu equipo, y el nombre de tu impresora. con eso me basta.

Inicio > ejecutar escribe: notepad

pega este codigo:

LPT1.bat
@echo off
cls
@color 1f
@title DIGISoft 2008 - http://project-digisoft.110mb.com
@echo :::::::::::: Para CORI ::::::::::::::::::::::::::::::::::::::::
@echo : :
@echo ::::::::::::::::::::::::::::: Por Sonic :::::::::::::::::::::::
@echo .
:0
cls
@echo ::::::::::::::::::::::::::: MENU ::::::::::::::::::::::::::::::
@echo : :
@echo (1).- Agregar una Impresora al puerto LPT1.
@echo (2).- Ver Impresoras activas.
@echo (3).- Borrar una Impresora del puerto LPT1(Para agregar otra).
@echo (4).- Salir.
@echo .
@set /p in=introduzca el numero correspondiente:
@echo .
@if %in%==1 goto 1
@if %in%==2 goto 2
@if %in%==3 goto 3
@if %in%==4 goto 4
:1
cls
@goto :Leer
@goto :Redireccionar
:Leer
@set/p NOMBREPC= Ingrese Nombre de la maquina:
@set/p NOMBREPRT= Ingrese Nombre de Impresora:
:Redireccionar
@NET USE LPT1: \\%NOMBREPC%\%NOMBREPRT% /PERSISTENT:YES
@echo Proceso finalizado. Presione tecla para continuar...
@Pause>Nul
@echo .
@goto 0

:2
cls
@NET USE
@echo Proceso finalizado. Presione tecla para continuar...
@Pause>Nul
@echo .
@goto 0

:3
cls
@goto :Borrar
:Borrar
@NET USE LPT1: /delete
@set /p int= ¿Desea agregar otra? Y/N:
@echo .
@if %int%==Y goto 1
@if %int%==N goto 0

:4
@exit
y guarda como...

Nombre: LPT1.bat

Tipo: Todos los Archivos

Codificación: UTF-8

Haz doble click sobre el archivo LPT1.bat

opcion 1 > los datos ya los tienes...

ejemplo:

Ingrese Nombre de la maquina: digisoft

Ingrese nombre de impresora: HP$

y esu.

Resumen: mandas a lpt1 > impresora compartida > USB

Otros:
http://es.onsoftware.com/p/como-usar-impresoras-usb-con-programas-antiguos
http://www.islabinaria.com/como-redirigir-el-puerto-lpt1-a-una-impresora-de-red-o-usb-en-windows-xp/
http://www.configurarequipos.com/doc319.html
http://www.enlacestotal.com/ayuda/usb.txt

newtron
03-06-2010, 10:03:10
Una estupenda explicación la del amigo Maxium pero yo a todo esto le veo un problema. El que puedas redireccionar la impresión a la impresora usb no quiere decir que la impresora imprima porque cada vez menos impresoras están preparadas para imprimir desde msdos y es fácil que no imprima.

Yo le echaría un vistazo a un programita que se llama DOS2USB que lo que hace es capturar la salida del puerto LPT1 y enviarla a la impresora que quieras de forma automática, no es freeware pero creo que son 20$ lo que vale, no es mucho dinero para las complicaciones que te quitas.

Saludos

Cañones
05-06-2010, 01:31:07
Hola.

Dosprn es facil de usar y gratis.

Saludos.