Imprimiendo Texto en Visual Basic

Escrito por Mauro Rondinelli el Martes 16 de Abril de 2002 a las 00:00hs

Mumbanet-google
Estamos de nuevo y ahora con ganas de hacer funcionar un poco la impresora ;-) hoy nos toca el tema de la impresion de texto con y sin formato bajo Visual Basic, para ello utilizaremos el objeto Printer que no es un componente extra ni nada por el estilo, este ya viene con nuestro querido Visual Basic 4, 5, 6 y VB.NET.

Primero imprimiremos un texto simple y sin formato, mejor dicho con el formato que tenga predeterminada la impresora...

Printer.Print "Hola a todos!"

Aqui tenemos el objeto Printer con su metodo mas importante "Print" cuyo objetivo es imprimir el texto pasado como parametro, si dejamos esto como esta veremos que nuestra impresora ni se mueve dado que falta un metodo que le indique a Windows que envie todo lo anterior a imprimir, este metodo es "EndDoc", nuestro ejemplo totalmente funcional seria asi...

Printer.Print "Hola a todos!"
Printer.EndDoc


Ahora si nuestra impresora comenzara a funcionar, se entiende la funcion de EndDoc?, en resumen... primero indicamos todo lo que queremos imprimir y luego lo mandamos a la impresora con EndDoc. Otro ejemplo...

Printer.Print "Hola a todos! 1"
Printer.Print "Hola a todos! 2"
Printer.EndDoc


En el papel de la impresora quedaria asi...

Hola a todos! 1
Hola a todos! 2

Fijense que queda una linea debajo de la otra, esto es asi porque despues del metodo "Print" automaticamente se pasa al renglon siguiente.

Ahora si queremos imprimir en distintas hojas utilizamos "NewPage", aqui el ejemplo...

Printer.Print "Pagina 1"
Printer.NewPage
Printer.Print "Pagina 2"
Printer.EndDoc

Facil no? Atencion lo unico que no nos debemos olvidar es el EndDoc. Ahora veremos como darle formato al texto, para esto antes veremos este ejemplo...

Printer.Print "Normal"
Printer.FontBold = True
Printer.Print "Negrita"
Printer.FontItalic = True
Printer.Print "Italic"
Printer.FontItalic = False
Printer.Print "Otra ves Normal"
Printer.EndDoc

Bueno la verdad es simple, mediante las propiedades FontBold, FontItalic, FontStrikeThru y FontUnderline manejamos el estilo de la fuente dandole un valor Verdadero (TRUE) si queremos activar algun estilo, con todo a Falso el estilo de la fuente es normal. Ahora veremos el tamaño...

Printer.FontSize = 15
Printer.Print "Tamaño de 15"
Printer.EndDoc

Mas facil todavia! Mediante FontSize especificamos el tamaño de la fuente y por ultimo para definir la fuente a utilizar usamos FontName, quedaria asi...

Printer.FontName = "Tahoma"
Printer.FontSize = 17
Printer.Print "Tamaño de 17 y fuente Tahoma"
Printer.EndDoc


No gasten mucha tinta!!!

comentarios



  1. mira si quieres imprimir codigo de barra
    yo te puedo decir
    esta mi correo



  2. Disculpa necesito hacer un programa en visual 6.0 para controlar el carro de impresion ademas de imprimir con una impresora epsont1000 y todo esto lo debo correr en un sistema operativo linux y la verdad estoy muy perdido me ayudaria bastante si me das una idea



  3. Aquiles dejo alguno tutorials del objeto printer http://www.sch-sistemas.com.ar/info/tutoriales.php?subaction=showfull&id=1257368857&archive=&start_from=&ucat=33&

    saludos!!!



  4. hola, como estas tengo una duda se puede ordenar desde visual basic ke el documento ke se va a imprimir salga en la hoja de forma horizontal... lo ke pasa es ke me dieron este codigo

    Set MSAccess = New Access.Application
    MSAccess.OpenCurrentDatabase ("C:Documents and SettingsAdministradorMis documentosLOWINproyecto del liceoproyecto21.mdb")
    MSAccess.DoCmd.OpenReport "Informe diario", acViewNormal
    MSAccess.CloseCurrentDatabase
    Set MSAccess = Nothing

    ke es para imprimir un informe de access pero como el informe es muy ancho no me cabe en la hoja de forma vertikl se puede poner para ke imprima horizontal



  5. desarrollo de sistemas y paginas web para instituciones y empresas proyectos de multimedia y sistemas asesoria gratuito

    http://www.espublimagen.com



  6. hola que tal, bueno mi pregunta es la siguiente, supongamos que yo tengo una hoja A4
    y en esta tengo q sacar una factura pero que sea duplicada en forma lineal
    osea divido la hoja verticalmente a la mitad en una mitad una factura y en la otra mitad la otra factura
    como ubico los datos hay alguna mapa que me diga en tal pociosion de x e y ahi sale lo que yo quiero o es al tanteo tengo que probar para ver donde sale?
    gracias



  7. Gracias me fue muy util



  8. Necesito un código que me imprima con PrintForm, pero antes de imprimirlo me muestre una vista preliminar del formulario que voy a imprimir.
    Gracias y saludos a todos.
    John, Costa Rica



  9. se ve que es muy buen codigo al menos para empezar a aprender creo yo...
    gracias lo voy a intentar...



  10. Hola es buena la pagina, tengo el problema de muchos y es de cambiar el tamaño de pagina a uno no convensional, ejemplo boletas , factura. simplemente no funciona, necesito esa informacion si la sabes por favor.



  11. Hola, tengo un sistema para venta de repuestos, ellos necesitan imprimir etiquetas con la información del repuesto 1,2,3 la cantidad que quieran, en cuanto a la impresión si se como hacerla, el problema es que no se como hacer para indicarle por medio del printer que el largo y ancho de la etiqueta, ya que salta una página completa tipo carta, he ingresado al servidor de impresión y creo un formulario del tamaño de la etiqueta y no lo respeta.

    Si puedes darme una mano, te lo agradezco.

    Gracias y Bendiciones



  12. Una consulta , se que con:
    Set Printer = "Impresora"
    se puede setear una nueva

    pero con el objeto printer u otro como se sabe cual es la impresora por defecto que esta en ese momento. Gracias



  13. Hola yo imprmi en Zebra desde vb 6.0 utilizando el MSComm1 aca hay un ejemplo de codigo

    MSComm1.CommPort = 1
    MSComm1.Settings = "9600,E,8,1"
    MSComm1.InputLen = 0
    'MSComm1.Output = "^FO >,V
    MSComm1.PortOpen = True
    MSComm1.Output = "^XA"
    '&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    MSComm1.Output = "^FO25,35^GB755,390,5^FS"
    MSComm1.Output = "^CFD,30"
    MSComm1.Output = "^CI13"
    '&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    MSComm1.Output = "^CFD,30"
    MSComm1.Output = "^FO40,50^FR^FD" & "Hola a todos." & "^FS"
    MSComm1.Output = "^CFD,10"

    MSComm1.Output = "^XZ"
    MSComm1.PortOpen = False



  14. buenisimo todo, que mas puedo decir, eso si quisiera que me ayudaran, lo que pasa es que yo imprimo unos comandos de texto a una impresora Zebra, pero uso el driver de la generica soo texto, y por ahi los envio a la impresora, quiero imprimir desde visual pero sin tener que instalar la generica solo texto, como lo puedo hacer directamente a la impresora.
    Gracias por la posible ayuda.



  15. Printer.Orientation
    'vbPRORPortrait '=1 Vertical
    'vbPRORLandscape '=2 Horizontal


    onlysystem.com
    joelcristobal.com



  16. Saludos a todos gracias por sus comentarios



  17. por favor me pueden ayudar? soy nuevo programando quisiera saber como imprimir una factura, tengo el formulario hecho pero no manejo bien los codigos para imprimir y ubicar los datos en los lugares correspondientes en la hoja. mi direccion es dani_vargas700@hotmail.com



  18. Hola chicossss... Gracias master por aportar y compartir conocimiento. Buenísimo lo de las impresoras para los que recien comienzan... Una pregunta no más... ¿cómo hacer para que se imprima el resultado de una consulta SQL usando el objeto PRINTER? Voy a investigarlo un poco y si encuentro algo lo posteo... pero si alguien lo tiene agradeceremos la ayuda!
    Un abrazo.
    Fer.



  19. hola que tal.
    estoy en un gran apuro la verdad es quisiera que me ayuden de como imprimir el texto de un textbox que esta en multiline, y bueno de antemano eso tendria que imprimirse en la hoja en varias lineas.



  20. otras propiedades del objeto printer que prodrian ayudar

    printer.devicename
    asigna el nombre de la impresora
    printer.port
    asigna el puerto a imprimir (incluidos los usb)
    printer.pagewidth
    ancho de pagina
    printer.pageheight
    alto de pagina, estos dos no funcionan con xp (creo)

    un ejemplo

    For Each p In Printers
    If p.DeviceName = impres Then
    Set Printer = p
    Exit For
    End If
    Next p



  21. Esta muy bien explicado, todo se entende. Pero necesito imprimir un formato, es decir, un bloque de texto, uno a continuación del otro en una hoja tamaño carta. Gracias por la ayuda que me puedan prestar.
    Saludos



  22. hola
    estoy haciendo un programa en en q voy a imprimir ua factura y le doy printer.prin y me vaja un renglon pero yo quiero q me baje solo medio reglon como le podria hacer.
    PORFIS AYUDENME ME URJE MUCHISIMO
    les agradecere de antemano



  23. Hola nesecito una ayuda como imprimir los datos q se muestran en un formulario en Visual basic



  24. HOLA,KE TAL A TODOS....
    TENGO PREOBLEMAS PARA IMPRIMIR EN VISUAL BASIC 6.0.LA VERDAD NECESITO KE ME AYUDEN LO MAS RAPIDO POSIBLE,CASI NO SE PROGRAMAR EN VISUAL ASI KE SE ME DIFICULTA BASTANTE REALIZAR ESTE PROYECTO ESPERO ME ENTIENDAN Y ME PUEDAN AYUDAR LO NECESITO MUCHO....GRACIAS.



  25. el problema es este:
    tengo un form con un scrollbar...
    ¿como imprimo todo el contenido del form en varias hojas si es que se necesita?..he imprimido el form con el scrollbar pero solo imprime lo que se ve en pantalla...¿como imprimo lo que esta mas abajo o mas arriba del scrollbar????ahhh y sin que se imprima la barra de desplazamiento?



  26. En Visual Basic 6.0 necesito chequear el estado de la impresora, especificamente sin está "on line" o si le falta papel. Pero debe ser ANTES de enviar el documento a imprimir. Desde ya muchas gracias por la ayuda.



  27. Alguien por favor pudiera decirme si hay alguna forma de tener un textox multiline donde pueda controlar cada linea de texto, seleccionar cada linea como un vector, si es un control activex por favor expliquenme como funciona en visual basic 6. gracias



  28. Cualquier duda en visual basic 6 que tengan consulten. solo con la intencion de cambiar ideas o proyectos tengo varios codigos con el objeto printer. saludos
    sebach_sonidoxxi@hotmail.com



  29. como imprimo una base de datos



  30. Gracias por todo me han ayudado bastante, pero una sola cosas , como hago para poder hacer el ajecutable del vb



  31. quiero imprimir un recibo todos los campos necesarios pero cuando defino el printer.print no me funciona
    que debo definir antes en las referencias o en otro lado si ya tengo la impresora configurada



  32. Hola a todos. Al pulsar el botón imprimir me sale el cuadro de diálogo. Selecciono 3 copias pero sólo me imprime 1 copia.

    ¿ Cómo se soluciona el tema ?

    Gracias



  33. Hola amigos, quisiera saber como imprimir un formulario en visual basic 6.0, por favor gracias.



  34. Quisiera que me ayuden, para poder cambiar el tamaño de página... Necesito imprimir documentos en papel continuo de 12cms, pero no logro poner el tamaño de hoja para que cuando termine un documento se posicione en lá siguiente página... (Se me pasa hasta el tamaño de una hoja A4)..

    Ojalá puedan ayudarme.

    Saludos y gracias



  35. Felicidades!!!
    El articulo esta muy bueno, y para algunas personas que estamos empezando en lo que es VB y la programacion en general... Resulta de mucha satisfaccion encontrar ayuda, gracias y que Dios les permita seguir desarrollando su conocimiento y compartirlo con nosotros..........



  36. Muy bueno su artículo,felicito a quien aportó la ayuda, y para los que quieren imprimir los campos del registro de una consulta, solo deben escribir lo siguiente:
    printer.print "El nombre del campo: " & text1.text
    printer.print "Otro campo: " & botonx.caption
    ....
    etc, lo importante es ir concatenando lo que queremos imprimir.
    Saludos y gracias por la ayuda.



  37. Hola, quisiera saber como imprimir desde las base de datos que tengo en access 2000 y visul 6.0, cualquier informacion se los agradeceria



  38. nelson esteban tuberquia:
    Viernes 04 de Mayo de 2007 a las 18:51hs


    la verdad es interesante lo que hay en la pagina pero deberian colocar tambien el objeto en el que va encerrado los codigos que colocaron me hago esplicar
    private sub pinter(byval ********* etc)
    Printer.FontName = "Tahoma"
    Printer.FontSize = 17
    Printer.Print "Tamaño de 17 y fuente Tahoma"
    Printer.EndDoc
    end sub

    ---------------------------


    NO! nada que ver, no hace falta hacer una instrucción para mandar a imprimir



  39. me ayudó mucho la información vertida, pero me gustaría saber como imprimo una factura, boleta y base de dtos de manera detallada, gracias



  40. hola:
    kisiera saber como imprimir un formulario k tengo en visual basic
    ayudenme
    esk mi examen es el proximo viernes porfa



  41. me gustaria que me ayudaran para saber cuales son las clases que intervienen a la hora de imprimir, cuales son sun metodos y propiedades y un ejemplo.
    me parece muy buena esta pagina porque ayuda mucho.



  42. hola amigo muy bueno tus comentarios; quisiera saber si comoces de alguna herramienta que se pueda utilizar en visal basic para imprimircodigos de barra.
    desde ya muchas gracias por tu ayuda

  43. nelson esteban tuberquia:
    Viernes 04 de Mayo de 2007 a las 18:51hs


    la verdad es interesante lo que hay en la pagina pero deberian colocar tambien el objeto en el que va encerrado los codigos que colocaron me hago esplicar
    private sub pinter(byval ********* etc)
    Printer.FontName = "Tahoma"
    Printer.FontSize = 17
    Printer.Print "Tamaño de 17 y fuente Tahoma"
    Printer.EndDoc
    end sub



  44. Para imprimir un código de barras no hay que hacer nada extraño, es una fuente más, asi como "Arial", "Times New Roman", etc... creo que la más usada es la c39. Lo demás está claro... ya explicado en este tutorial "Printer.FontName = "Tahoma" " en vez de Tahoma, el nombre de la fuente que hayas descargado.

    Acá una página de fuentes: http://www.fontreactor.com/fuentes/codigo-de-barras/

    Suerte.



  45. Hola !! tengo un problema ,, ya he buscado mucho del tema pero no ecuentro gran cosa, quiero generar y poder imprimir facturas en VB 6 utilzando BD en MySQL, he encontrado ayuda pero se utilizan BD en Acces y yo estoy trabajando con MySQL, no consigo hacer la conexion para mostrar los resultados de mi BD en un Data Report, porfavor me urge soy estudiante, lo necesito para un proyecto de la escuela



  46. Para los que desean configurar la impresora y el tamaño del papel les recomiendo descarguen la ayuda de allapi.net, ahi se encuentra un compendio de todo el api con ejemplos y explicaciones breves.
    Mi probleme es el siguiente.
    Estoy haciendo un control vista previa pero cuando imprimo la fuente de la impresora no coincide con la del control aunque esten en el mismo valor ej> printer.fontsize=8 el captura 8.16 picture.fontsize=8 captura 8.25, esa pequeña diferencia lo es todo pues con el texto genero un recuadro contenedor del mismo y lo que veo en vista previa se distorsiona en la impresora. Esta distorcion varia con el tipo de fuente.
    Sabe alguien como resolver esto? gracias.



  47. Intersante lo leido, pero quisiera imprimir una aplicacion que tiene varios textbox, que propeda podria utilizar alli, gracias



  48. Muy Interesante, pero necesito saber como cambiar el tamaño del papel en Visual Basic 6.0 y trabajando en un SO Windows XP.


    Saludos



  49. Oye, quiero saber como mando imprimir un formulario de Visal Basic!
    Gracias.



  50. Esta muy practico tus programas... Felicidades...

    ¿Como puedo ver un documento de Word en un cuadro de texto de Visal Basic?



  51. Muy bueno.. gracias!!!.. pero y si kiero imprimir un codigo de barras, que debo hacer, la verdad estoy buscando y no encuentro nada q sirva, podrias explicarlo asi como has explicado lo de arriba, paso a paso, estoy segura q mas de una persona t estara eternamente agradecido :)



  52. Muy interesante.. pero quisiera que me ayuden, para poder cambiar el tamaño de página... Necesito imprimir facturas en papel continuo de 11cms, pero no logro poner el tamaño de hoja para que cuando termine una Factura se posicione en lá siguiente página... (Se me pasa hasta el tamaño de una hoja A4)..

    Ojalá puedan ayudarme.

    Saludos y gracias



  53. Se aprende mucho asi... es muy interesante. Lo que estoy necesitando ahora es imprimir un tabla o consulta de access desde visual. si alguien me puede contestar... desde ya M. gracias!



  54. Hola , esto es bueno lo hice y dio resultado, pero ahora necesito saber como escoger la impresora,tamaño y el tipo de papel directamente por el codigo fuente, estoy realizando una aplicacion donde se usa papel continuo de 21 cm de ancho por 14 cm y nesecito fijar esas dmenciones a la impresora, les agradesco de antemano



  55. Hola:

    Saben me gusto mucho esta pagina pero me gustaria saber como puedocontactarlos mejor para sabes mejor de esto pues quieisera aprender imprimir bases de datos tambien enserio estoy estudiando y me interesa mucho su contenido pero quiero mas saber mas.

    Gracias.



  56. ok esta muy bueno esto pero me interesa saber como imprimir una base de datos, ósea tengo varios text chekbox y otros elementos enlazados a una base de datos en access mediante un data y quiero que médiate un botón se imprima el registro qe se esta viendo por pantalla por favor mandármelo a lordshiba [@] hotmail.com



  57. la informacion es muy buena pero me gustaria saber que otras propiedades tiene el objeto PRINTER y como le puedo sacar el maximo provecho como cambios de color o si puedo imprimir la informacion contenida en las cajas de texto o etiquetas... Agradeceria la informacion

agregar comentario


Se permiten las etiquetas HTML <b>, <i> y <p>. Si ingresa alguna dirección web o dirección de email serán convertidos en enlaces automáticamente.





publicidad

API DE FACEBOOK
GOOGLE CALENDAR API
GOOGLE MAPS API