Pregunta: | 5379 - CAPTURAR PTO. PARALELO EN C++(NO VISUAL) |
Autor: | Manolo Rodriguez Perez |
Problema: Tengo un programa de gestion en el trabajo bajo msdos, los listados que saca los hace en formato 80 columnas, por lo que la impresora debe tener la opcion de condensar ya que si no las columnas de los listados salen corridas. Esto, las modernas impresoras no lo hacen ni por soft ni por hard. Por lo que como podria en c++ capturar lo que manda imprimir el dichoso programa a un archivo para luego con el word o con lo que sea poder listarlo correctamente. Gracias. si se os ocurre alguna cosa por favor contestar, aunque no sea pro programacion. |
Respuesta: | Jose Gallego |
Capturar un puerto de impresión es realmente un trabajo duro.
Yo te aconsejo que instales el soft DOS2USB o alguno similar, que lo que hace es capturar el puerto LPT y enviarlos al puerto USB para sacar la imrpesión directamente por una impresora moderna. Si mal no recuerdo tenia la opción de impresión condensada. En programación, la orden para imprimir condensado / expandido, salto de linea, etc. se hacia con comando CHR. Este programa detecta esos comandos y actua en consecuencia por lo que es probable que te funcione sin tener que parametrizarlo demasiado. |
Respuesta: | Pedro Miguel González |
Hola Manolo, no dices si trabajas en entorno windows o no (aunque el programa sea en ms-dos). Si es así, puede probar a instalar la impresora genérica que viene con windows Panel de control->Impresoras->Agregar Impresora y configurarla como predeterminada. Esta impresora tiene la propiedad de que sólo funciona con texto, descartando los formatos y tipos de letra, con lo que el espaciado de los caracteres es proporcional y todas las columans quedan del mismo tamaño. Se suele usar mucho para las impresoras de ticket.
El inconveniente es que no funciona con todas las impresoras, sobre todo con las tipo GUI como la OKI 6W/8W. Espero haberte ayudado. Un saludo |