Selección impresora desde programa
Publicado por Albert (4 intervenciones) el 08/07/2008 13:18:00
He desarrollado un programa en VB6 para imprimir dos tipos de etiquetas utilizando Crystal Report 8, de forma y manera que unas salgan por una impresora y las otras por otra.
Para evitar que el usuario tenga que especificar cada vez la impresora, en la base de datos que utiliza el programa tengo una tabla en la cual se guardan los nombres de las impresoras a utilizar por cada tipo de etiqueta. El mantenimiento de dicha tabla se realiza desde el programa, el cual muestra las impresoras existentes y permite seleccionar una para cada tipo de etiqueta.
En el momento de imprimir la etiqueta lo que hago es cambiar el parámetro PrinterName del objeto de Crystal Reports, en función de la etiqueta que corresponda (accediendo a la base de datos para obtener el nombre).
Por desgracia, estoy comprobando que esto no funciona y lo que hace es utilizar la impresora que tiene incorporado el propio RPT (el que aparece cuando modificas el report en el apartado Preparar Impresora).
En cambio, si dentro del programa utilizo el método PrinterSelect del objecto de Crystal Reports, la impresión funciona correctamente, es decir, utiliza la impresora que se selecciona.
He debugado el programa para comprobar que el nombre que se pone en el PrinterName sea correcto y siempre coincide con el DeviceName de la impresora.
¿Alquien tiene una idea sore la razón de que esto no funcione? He intentado localizar algún parámetro relacionado con el tema pero no lo he encontrado.
También he probado de cambiar la impresora predeterminada con el Set Printer pero tampoco funciona.
Para evitar que el usuario tenga que especificar cada vez la impresora, en la base de datos que utiliza el programa tengo una tabla en la cual se guardan los nombres de las impresoras a utilizar por cada tipo de etiqueta. El mantenimiento de dicha tabla se realiza desde el programa, el cual muestra las impresoras existentes y permite seleccionar una para cada tipo de etiqueta.
En el momento de imprimir la etiqueta lo que hago es cambiar el parámetro PrinterName del objeto de Crystal Reports, en función de la etiqueta que corresponda (accediendo a la base de datos para obtener el nombre).
Por desgracia, estoy comprobando que esto no funciona y lo que hace es utilizar la impresora que tiene incorporado el propio RPT (el que aparece cuando modificas el report en el apartado Preparar Impresora).
En cambio, si dentro del programa utilizo el método PrinterSelect del objecto de Crystal Reports, la impresión funciona correctamente, es decir, utiliza la impresora que se selecciona.
He debugado el programa para comprobar que el nombre que se pone en el PrinterName sea correcto y siempre coincide con el DeviceName de la impresora.
¿Alquien tiene una idea sore la razón de que esto no funcione? He intentado localizar algún parámetro relacionado con el tema pero no lo he encontrado.
También he probado de cambiar la impresora predeterminada con el Set Printer pero tampoco funciona.
Valora esta pregunta


0