Autor Tema: Imprimiendo con Printer.print  (Leído 7664 veces)

0 Usuarios y 1 Visitante están viendo este tema.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Imprimiendo con Printer.print
« en: Febrero 15, 2013, 04:28:30 pm »
Estoy preparando unos reportes con el objeto Printer.Print.

y he visto que algunos le ponene el Scale mode diferentes formas cual es el mas recomendable y por que.

Código: (VB) [Seleccionar]
Printer.ScaleMode = 6
Printer.Scale (0, 0)-(2100, 2970)
Printer.ScaleMode = vbPixels
Printer.ScaleMode = vbCentimeters
Printer.ScaleMode = vbMillimeters

Yo quiero imprimir imagenes y letras en la hoja.
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

Bazooka

  • Terabyte
  • *****
  • Mensajes: 951
  • Reputación: +31/-20
  • El pibe Bazooka
    • Ver Perfil
    • Desof sistemas
Re:Imprimiendo con Printer.print
« Respuesta #1 en: Febrero 15, 2013, 05:22:59 pm »
Entiendo que es para trabajar en en la Escala que te sientas mas cómodo vos...
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Imprimiendo con Printer.print
« Respuesta #2 en: Febrero 16, 2013, 12:55:29 am »
El más recomendable es usar los ScaleMode, y para impresion, te convieine usar vbMillimeters

OJO! Tambien influye la configuración del tamaño del papel, no es lo mismo si tienes configurado A4 cuando vas a imprimir en oficio o "carta"

Mira los tamaños y sus constantes

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Imprimiendo con Printer.print
« Respuesta #3 en: Febrero 16, 2013, 11:26:58 am »
Ok, usare vbMillimeters

Ahora si tengo una imagen de 200x200 y usando el objeto Printer.PaintPicture que medidas tengo que poner en tamaño1 y tamaño2, por que según esta pagina para convertir de pixeles a milimetros http://www.translatorscafe.com/cafe/units-converter/typography/calculator/pixel-(X)-to-centimeter-%5Bcm%5D/ 200 pixeles = 52 ("casi 53") y si pongo ese 52 no sale exactamente el tamaño de la imagen, quiero que salgo sin dimensionar la imagen como.

Código: (VB) [Seleccionar]
Printer.PaintPicture LoadPicture("c:\foto.jpg"), 10, 50, tamaño1, tamaño2
el 10 y 50 son las posiciones de la imagen en la hoja.
el 200 y 200 son tamaño de la imagen.

Ejemplo: El azul es el original el rojo es lo que imprimi con Printer.PaintPicture

« última modificación: Febrero 16, 2013, 12:04:08 pm por E N T E R »
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Imprimiendo con Printer.print
« Respuesta #4 en: Febrero 16, 2013, 11:36:21 am »
Si quieres que salga en "tamaño real" no debes poner tamaño1 ni tamaño2, solo pon las coordenadas de donde empieza (supongo que serian como los "Left y Top" de los controles

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Imprimiendo con Printer.print
« Respuesta #5 en: Febrero 16, 2013, 12:12:17 pm »
La imagen original tiene 200x200, Pero igual siempre un 30 mas le agrega de tamaño serian 230x230 al imprimir en la hoja.

Código: (VB) [Seleccionar]
Printer.PaintPicture LoadPicture("c:\hola.jpg"), 20, 90
PosicionX = 20
PosicionY = 90
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Imprimiendo con Printer.print
« Respuesta #6 en: Febrero 16, 2013, 01:23:34 pm »
le queres agregar vos ese 30px más? o te lo agrega sola la impresora y no queres que pase eso

Tambien algo para decir, es que esa regla de tantos pixeles no siempre es cierto, ya que depende de los DPI y/o PPI (tanto de la imagen como impresora) así que... mide en la realidad si sale como deberia ser :P

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Imprimiendo con Printer.print
« Respuesta #7 en: Febrero 16, 2013, 02:01:48 pm »
Si Raul el no mas agrega solo.

Esta es la imagen que uso como ejemplo ahora y tiene 200x200



Al imprimir con este codigo que vos me dijiste que le saque el tamaño1 y tamaño2, siempre le agregra un 31x31 o sea al imprimir ya tiene 231x231 en la hoja.

Código: (VB) [Seleccionar]
Printer.PaintPicture LoadPicture("c:\hola.jpg"), 20, 90
20 y 90 son la posicion de la imagen en la hoja.
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Imprimiendo con Printer.print
« Respuesta #8 en: Febrero 16, 2013, 02:58:29 pm »
Donde estas imprimiendo? Porque no pruebas imprimr un cuardado sin relleno y con borde fino y lo compruebas en una impresora de verdad :P

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Imprimiendo con Printer.print
« Respuesta #9 en: Febrero 16, 2013, 03:16:01 pm »
Probe de 2 formas y es un cuadro rrelleno azul como esta ahi en la imagen, imprimo con una impresora HP Deskject 2660 y tambien con el doPDF "Impresora virtual", si llevo a otro programa impreme bien todo normal.
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo