Problemas al imprimir con papel continuo

Freddy
02 de Febrero del 2006
Necesito ayuda ya que deseo imprimir en papel continuo de 21 cm x 15cm, y no puedo delimitar el tamaño de de la hoja de impresion.

carsoft
02 de Febrero del 2006
yo tengo el mismo problema

Solid Snake
02 de Febrero del 2006
Una vez conbteste algo parecido de esta manera
No vi las dimenciones pero supongamos que cada DOS formulario hacen UNA hoja para la Impresara , solo tienes que setear dos impresiones por Hoja y listo

Prueben no pierdes nada intentando

Saluds
Andres

orietta
02 de Febrero del 2006
Disculpa, yo también tengo ese problema, tengo que imprimir una hoja de tamaño oficio y me la parte en dos hojas, como si fueran de tamaño carta. Cómo se hace el seteo que tu indicas? Hay que hacerlo dentro del formulario que ejecuta el data report? cuál es la instrucción para eso?

Gracias de antemano por tu ayuda.

Edy P?z
02 de Febrero del 2006
A ver... tal vez les sirva esto... que lei en un manual que tengo...


************************************************************************
Imaginemos que el objeto Printer es una hoja de papel. La misma hoja que aparecerá escrita una vez que le enviemos el texto (o los gráficos) que queremos imprimir. Esa hoja de papel tendrá unas dimensiones que deberemos indicar al objeto Print. La forma de indicarle las dimensiones del papel varían dependiendo del driver de impresora usado.

El driver de la impresora sabrá que el papel que tiene es un DIN A4, DIN A3, etc., que tiene unas medidas prefijadas. Centrémonos en lo mas habitual, una impresora que tenga un papel DIN A4 cuyas medidas son 210 x 297 mm.

El driver de impresora “sabe” que ese es el tamaño de su papel. Ahora solamente nos falta que nuestra aplicación lo sepa también. Para ello vamos a indicarle mediante un par de sentencias las medidas de ese papel : ScaleWidth y ScaleHeight

Si le decimos :

Printer.ScaleWidth = 2100
Printer.ScaleHeight = 2970

le estamos diciendo a nuestro programa que el papel mide 2100 unidades de ancho y 2970 unidades de alto. (Estamos suponiendo que el papel está colocado en posición vertical). Si tiene 2100 unidades de ancho, y el ancho real del papel es de 210 mm, nuestra unidad de medida será de 0,1 mm. Es decir, le decimos a nuestro programa que el papel tiene 2100 décimas de milímetro de ancho, y 2970 décimas de milímetro de alto. La precisión con la que podemos colocar un punto sobre el papel será por tanto 0,1 mm. Podríamos hacerla mayor (0,01 mm.) si pusiésemos Printer.ScaleWidth = 21000 y Printer.ScaleHeight = 29700.

Para el trabajo ordinario de imprimir listados o dibujar gráficos tipo barras, es mas que suficiente una precisión de 0,1 mm. Si lo que queremos es un dibujo mas exacto (Dibujar fotolitos de circuitos impresos, p.e. ) esta precisión de 0,1 mm. no nos bastaría, debiendo llegar a una precisión del orden de 0,01 mm. Pero todo ello está condicionado por el número de p.p.i.
(puntos por pulgada) que nuestra impresora es capaz de dar.

Nota.- Una impresora tiene unos márgenes sobre los que no puede escribir. Por lo tanto, cuando decíamos que el papel tiene 210 mm. de ancho, en realidad ya estamos cometiendo un pequeño error, ya que la impresora no puede escribir en todo el ancho, pues los 2 - 3 mm de cada lado no lo imprime. Deberemos entonces poner las propiedades ScaleWidth y ScaleHeight del Printer de acuerdo con la superficie real de escritura de nuestra impresora. Le adelanto que no le va a ser fácil enterarse de qué márgenes deja sin imprimir. Le recomiendo que imprima una línea desde Printer.CurrentX=0 a Printer.CurrentX= (un número superior a Printer.Scalewidth). Mida con un escalímetro el ancho real de la impresión.

************************************************************************
Espero que les sirva de algo, si desean el manual del objeto Printer, envienme un mail con su direccion para poder enviarselo, yo solo he probado imprimir en una hoja normal, mas no en papel continuo.

Saludos EDY
[email protected]