Dos cosas que debes controlar, que exista una imagen previamente cargada en el PictureBox, y en el panel de control, ve a impresoras y en las propiedades de tu impresora por defecto para Imprimir, activa la pre-visualización del documento antes de imprimir.
De esta manera cuando te pregunta si quieres imprimir, le dirás que no y te ahorras la impresión, pero sin embargo puedes observar como saldría dicha impresión.
Respecto de la cifra 4000 es para que observes solamente, en la pre visualización de la impresión, hasta donde te imprime el contenido del Picture, tu utiliza la cifra que creas conveniente.
El modo de escala en que se trabaja es Pixeles, el modo de impresión es Centímetros, y se imprimirá el contenido creado en un PictureBox usando métodos gráficos (PSet, Line, Circle, ...). Si se desea imprimir el Picture, simplemente en vez de Image, usamos Picture (esta resaltado con cursiva). Se imprime en una área de 4 por 4 cm, con margen 1 cm a la izquierda, 1 cm arriba.
Answers & Comments
Verified answer
Hola Nelson, saludos.
Prueba con la siguiente directiva en un CommandButton.
Private Sub Command1_Click()
'Imprimimos la imagen cargada
Printer.PaintPicture Picture1.Image, 0, 0, 4000, 4000
DoEvents
Printer.EndDoc
End Sub
Dos cosas que debes controlar, que exista una imagen previamente cargada en el PictureBox, y en el panel de control, ve a impresoras y en las propiedades de tu impresora por defecto para Imprimir, activa la pre-visualización del documento antes de imprimir.
De esta manera cuando te pregunta si quieres imprimir, le dirás que no y te ahorras la impresión, pero sin embargo puedes observar como saldría dicha impresión.
Respecto de la cifra 4000 es para que observes solamente, en la pre visualización de la impresión, hasta donde te imprime el contenido del Picture, tu utiliza la cifra que creas conveniente.
También podrías hacerlo así...
Private Sub Command1_Click()
'Imprimimos la imagen cargada
Printer.PaintPicture Picture1.Image, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight
DoEvents
Printer.EndDoc
End Sub
Éxitos en tu proyecto.
Elinv.
Prueba con el siguiente código:
El modo de escala en que se trabaja es Pixeles, el modo de impresión es Centímetros, y se imprimirá el contenido creado en un PictureBox usando métodos gráficos (PSet, Line, Circle, ...). Si se desea imprimir el Picture, simplemente en vez de Image, usamos Picture (esta resaltado con cursiva). Se imprime en una área de 4 por 4 cm, con margen 1 cm a la izquierda, 1 cm arriba.
ptrX1 = 1 '//cm
ptrX2 = 5 '//cm
ptrY1 = 1 '//cm
ptrY2 = 5 '//cm
...
With pic_AnyName
Printer.ScaleMode = vbCentimeters
.Parent.ScaleMode = vbCentimeters
.ScaleMode = vbCentimeters
Printer.PaintPicture .Image, _
ptrX1, ptrY1, (ptrX2 - ptrX1), (ptrY2 - ptrY1), _
0, 0, .Width, .Height, vbSrcCopy
.Parent.ScaleMode = vbPixels
.ScaleMode = vbPixels
End With
Mira en todo programa Aplasta 2 botones
- Ctrl (Control)
- P
Aplasta esa convinacion!!! y se te aparecerá la ventana para imprimir =D