Impresoras

Post Reply
User avatar
Sebastián Almirón
Posts: 125
Joined: Mon Dec 12, 2005 9:56 am
Location: Moralzarzal - Spain

Impresoras

Post by Sebastián Almirón »

Hola a todos, a ver si alguien me puede ayudar:

Acabo de instalar un servidor con Windows server 2012 Foundation (lamentable el curre para hacerlo funcionar por el tema de las licencias despues de haber pagado un pastizal), en el que he instalado un programa mio.
A los usuarios les doy acceso por Terminal Server y el programa funciona bien, pero tengo un problema con las impresoras. Estas están conectadas directamente a los equipos de los usuarios y en mis aplicaciones tengo una utilidad para seleccionar cada una de ellas. Cada equipo tiene varias (para imprimir albaranes en papel continuo, una laser para documentos, una de etiquetas, etc.). El problema es que se seleccione la que se seleccione siempre sale el documento por la impresora por defecto del equipo del usuario.

Entiendo que lo que está pasando es que no reconoce la impresora que le indico en el PRINT oPrint TO impresora_x, quizas porque al ejecutarse la aplicación en el servidor, esa impresora no está realmente en él. Faltaría, creo yo, indicar delante del modelo de impresora la ruta a la misma. El tema es que les tengo puesto un botoncito para que puedan seleccionarla/configurarla con el típico PrinterSetup(), cprn := prngetname(), que solo devuelve el nombre de la impresora. ¿Hay alguna función que devuelva la ruta completa ?

Saludos
puenteda
Posts: 19
Joined: Thu Oct 02, 2014 3:51 am

Re: Impresoras

Post by puenteda »

Sebastián:

El propio printersetup() ya redirecciona la impresion a la impresora que selecciono el usuario, la funcion te devuelve el nombre de la improsora pero no necesitas hacer nada mas. Ejemplo:

PRINTERSETUP()

PRINTER oPrn NAME "Ordenes de Pago emitidas " PREVIEW

Lo que por experiencia propia suele falla en el server es el mapeo de sus impresoras locales al usuario de terminal server en su sesión, yo opte por agregarles a cada usuario sus impresoras por red en su sesion directamente, pero si la funcion te devuelve el nombre es que la impresora esta.

Saludos,
Daniel Puente
puenteda@hotmail.com
Post Reply