Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] printersettings

Estas en el tema de printersettings en el foro de .NET en Foros del Web. Buenas y gracias por leerme. Tengo un problema que no sé cómo resolver. Quiero imprimir etiquetas en impresoras zebra, tengo 4, cada una tiene un ...
  #1 (permalink)  
Antiguo 14/08/2013, 03:59
jcd
 
Fecha de Ingreso: febrero-2013
Mensajes: 77
Antigüedad: 11 años, 2 meses
Puntos: 0
printersettings

Buenas y gracias por leerme.

Tengo un problema que no sé cómo resolver.

Quiero imprimir etiquetas en impresoras zebra, tengo 4, cada una tiene un tamaño de papel, así que configuro el tamaño de papel de cada una de esas cuatro impresoras.

ahora voy a un programilla de c# que he implementando para hacer la carga e impresión de esas etiquetas, y aquí viene el problema, tengo un printpreview dialog así como un printdialog.

este printdialog me prgunta cuál es la impresora que quiero usar, y al marcar la que tengo como predeterminada, me imprime la etiqueta acorde con la configuración de tamaño que le puse, pero, si eligo otra impresora, alguna que no sea predeterminada, cuando voy a preferencias, no aparece el tamaño de papel que yo les puse sino que sale otro tamaño, es decir, c# no respeta mis preferencias, de forma que tengo que , desde el interior del printfdialog,elegir yo mismo el tamaño , cosa que no deseo porque los clientes no tienen por qué saber hacer esto.

quiero que c# lea las preferencias de cada una de las impresoras y que, si no le digo otra cosa, imprima con ese tamaño, pero no lo hace, el tamaño por defecto que saca para todas es el que establecí para la por defecto.

alguna idea?
  #2 (permalink)  
Antiguo 17/08/2013, 10:05
Avatar de emmax  
Fecha de Ingreso: agosto-2010
Ubicación: Sonora
Mensajes: 172
Antigüedad: 13 años, 8 meses
Puntos: 8
Respuesta: printersettings

No se como tengas tu codigo, pero yo he manejado este tipo de impresiones y este detalle lo he solucionado madando desde codigo el tamaño de la etiqueta, yo manejo o he manejado un PrintDocument y cuando mando la impresion controlo el tamaño con DefaultPageSettings.PaperSize = New PaperSize("tu documento", Tamaño(200, 100) por ejemplo).

No manejo lo de PrintDialog, lo que he hecho es cargar las impresoras disponibles en un Combobox y desde ahi selecciono la que se quiera utilizar.

No se si esto te pueda servir.

Saludos.
  #3 (permalink)  
Antiguo 19/08/2013, 01:14
jcd
 
Fecha de Ingreso: febrero-2013
Mensajes: 77
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: printersettings

Gracias, probaré como dices, pero no lo puedo hacer desde codigo, cuando seleccionas una impresora c# debe ya saber inmediatamente qué tamaño tiene.
  #4 (permalink)  
Antiguo 19/08/2013, 09:34
Avatar de emmax  
Fecha de Ingreso: agosto-2010
Ubicación: Sonora
Mensajes: 172
Antigüedad: 13 años, 8 meses
Puntos: 8
Respuesta: printersettings

Como te comento, no conozco tu codigo, exactamente como lo manejas, no lo se, cuando yo he trabajado con esto, genero el codigo de barras con una libreria, a la cual le paso los datos, como precio, descripcion, etc. y como te digo al mandar imprimir mando la ubicacion que tendra cada dato en el documento asi como su tamaño, la verdad no he batallado con ningun modelo de etiquetadora, trabajando de esta manera, cuando mucho he tenido que mover el margen a la izquierda o derecha, dependiendo del modelo, pero nada mas.
  #5 (permalink)  
Antiguo 20/08/2013, 08:08
jcd
 
Fecha de Ingreso: febrero-2013
Mensajes: 77
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: printersettings

Gracias or tu tiempo , pero no me ayuda.

no quiero tener que meter tamaño desde codigo, porque conllevaria que los clientes no podrían cambiarlo si quisieran , tendria que añadir combos o similares para poder modificar el tamaño.

la cuestion es simple, con el dialogo eliges la impresora que deseas utilizar , si quieres cambiar preferencias vas a preferecias, y si no, debe cogerel tamaño por defecto.

y ese es el problema, que c# no coge el tamaño por defecto de las impresoras que yo le meto sino que coge otros.

Etiquetas: c#
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:26.