Programación General > Visual Basic 6.0 e inferiores

 Imprimir Contenido De Formulario Factura

(1/1)

liverso:
Hola mucho gusto me llamo Rodolfo y mi pregunta es la siguiente me gustaria saber si alguien me puede ayudar.

he realizado un programa que imita el contenido de una factura lo que yo deseo es imprimir el contenido de las cajas de texto y de las listas que estoi utilizando.

en mi formulario estoi utilizando cajas de textos para ingresar los datos y listas que me reciben los datos, eso va todo bien pero lo que kisiera es una ves realizada la factura imprimirla en mi factura verdaera que esta púesta en la impresora para ello darle los margenes necesarios y esas cosas, me interesa solo el texto .


espero que mi tema no sea un poco tonto pero es mi necesidad saber si alguien me puede ayudar.

gracias

DrakerDG:
:comp: Pueder utilizar el objeto Printer de Visual Basic.  Esto aparece en el help:


--- Código: Text --- Printer (Objeto, colección Printers)             El objeto Printer le permite comunicarse con una impresora del sistema (inicialmente la impresora predeterminada). Lacolección Printers le permite obtener información acerca de todas las impresoras del sistema disponibles. Sintaxis Printer Printers(índice) El marcador de posición índice representa un entero entre 0 y Printers.Count-1. Comentarios Para presentar texto y gráficos en el objeto Printer, utilicemétodos gráficos. Una vez que el objeto Printer contenga el resultado que desea imprimir, puede usar el método EndDoc para enviar directamente el resultado a la impresora predeterminada de la aplicación. Debe comprobar y posiblemente revisar la distribución de los formularios si quiere imprimirlos. Si utiliza el método PrintForm para imprimir un formulario, las imágenes gráficas se pueden recortar en la parte inferior de la página y el texto puede pasar a la página siguiente. La colección Printers le permite consultar las impresoras disponibles de forma que pueda especificar la impresora predeterminada de su aplicación. Por ejemplo, quizá quiera saber cuál de las impresoras disponibles usa un determinado controlador de impresoras. El siguiente código comprueba todas las impresoras disponibles para encontrar la primera impresora cuya orientación de página sea Vertical y después la establece como la impresora predeterminada: Dim X As PrinterFor Each X In Printers   If X.Orientation = vbPRORPortrait Then      ' La define como predeterminada del sistema.      Set Printer = X      ' Sale del bucle.      Exit For   End IfNext Mediante la instrucción Set se designa una de las impresoras de la colección Printers como impresora predeterminada. El ejemplo anterior designa como impresora predeterminada de la aplicación la impresora identificada por la variable de objeto X. Nota   Si utiliza la colección Printers para especificar una impresora determinada, como Printers(3), sólo puede tener acceso a sus propiedades en modo de sólo lectura. Para leer y escribir las propiedades de una impresora concreta, primero tiene que definirla como impresora predeterminada de la aplicación.   
Y esta información referente a cómo se usa:


--- Código: Text --- Imprimir con el objeto Printer  Hay varias maneras de colocar texto y gráficos en el objeto Printer. Para imprimir con el objeto Printer, siga las instrucciones siguientes:  Asigne el miembro específico de la colección Printers al objeto Printer si quiere imprimir en una impresora distinta de la impresora predeterminada.  Coloque texto y gráficos en el objeto Printer.  Imprima el contenido del objeto Printer con los métodos NewPage o EndDoc. Propiedades del objeto PrinterLas propiedades del objeto Printer coinciden inicialmente con las de la impresora predeterminada definida en el Panel de control de Windows. En tiempo de ejecución, puede establecer cualquiera de las propiedades del objeto Printer, entre las que se incluyen: PaperSize, Height, Width, Orientation, ColorMode, Duplex, TrackDefault, Zoom, DriverName, DeviceName, Port, Copies, PaperBin y PrintQuality. Para obtener más detalles y la sintaxis de estos métodos, vea la Referencia del lenguaje. Si la propiedad TrackDefault es True y cambia la impresora predeterminada en el Panel de control de Windows, los valores de las propiedades del objeto Printer reflejarán las propiedades de la nueva impresora predeterminada. No puede modificar algunas de las propiedades en medio de la impresión de una página una vez establecida la propiedad. La modificación de estas propiedades sólo afectará a las páginas siguientes. Las instrucciones siguientes muestran cómo puede imprimir cada página con una calidad de impresión diferente: For pageno = 1 To 4   Printer.PrintQuality = -1 * pageno   Printer.Print "La calidad de esta página es"; pageno   Printer.NewPageNext Los valores de la calidad de impresión pueden variar de – 4 a  – 1, o un entero positivo correspondiente a la resolución de la impresora en puntos por pulgada (PPP). Por ejemplo, el código siguiente establecería la resolución de la impresora a 300 PPP: Printer.PrintQuality = 300 Para obtener más información   Para obtener información acerca de las propiedades del objeto Printer, vea la propiedad correspondiente en la Referencia del lenguaje. Nota   El efecto de los valores de las propiedades del objeto Printer depende del controlador suministrado por el fabricante de la impresora. Puede que algunos valores no tengan efecto o que varios valores de propiedades diferentes tengan todos el mismo efecto. Los valores fuera del intervalo permitido puede que produzcan o no un error. Para obtener más información acerca de los controladores concretos, vea la documentación del fabricante. Propiedades de escalaEl objeto Printer tiene estas propiedades de escala:  ScaleMode  ScaleLeft y ScaleTop  ScaleWidth y ScaleHeight  Zoom Las propiedades ScaleLeft y ScaleTop definen las coordenadas x e y, respectivamente, de la esquina superior izquierda de una página imprimible. Si modifica los valores de ScaleLeft y ScaleTop, puede crear los márgenes izquierdo y superior de la página impresa. Por ejemplo, puede usar ScaleLeft y ScaleTop para centrar un formulario impreso (PFrm) en la página, con estas instrucciones: Printer.ScaleLeft = -((Printer.Width - PFrm.Width) / 2)Printer.ScaleTop = -((Printer.Height - PFrm.Height) _   / 2) Muchas impresoras aceptan la propiedad Zoom. Esta propiedad define el porcentaje de escala del resultado. El valor predeterminado de la propiedad Zoom es 100, que indica que el resultado se imprimirá al 100 por ciento del tamaño (tamaño real). Puede usar la propiedad Zoom para reducir o ampliar la página con respecto al papel en el que se imprime. Por ejemplo, si Zoom es 50, la página impresa aparece con la mitad de alto y la mitad de ancho de la página de papel. La sintaxis siguiente establece la propiedad Zoom a la mitad del tamaño del objeto Printer predeterminado: Printer.Zoom = 50 Colocar texto y gráficosPuede establecer las propiedades CurrentX y CurrentY del objeto Printer, de la misma forma que para los formularios y los cuadros de imagen. Con el objeto Printer, estas propiedades determinan dónde se coloca el resultado en la página real. Las instrucciones siguientes establecen las coordenadas de dibujo a la esquina superior izquierda de la página actual: Printer.CurrentX = 0Printer.CurrentY = 0 También puede usar los métodos TextHeight y TextWidth para colocar texto en el objeto Printer. Para obtener más información acerca del uso de estos métodos de texto, vea "Presentar en una ubicación específica", anteriormente en este capítulo. Imprimir formularios en el objeto PrinterPuede que le interese que la aplicación imprima uno o varios formularios junto con la información de dichos formularios, especialmente si el diseño del formulario corresponde a un documento impreso como una factura o una ficha de hora. La manera más sencilla de hacer esto es mediante el método PrintForm. Para obtener la mayor calidad en una impresora láser, utilice el método Print y los métodos gráficos con el objeto Printer. Recuerde que el uso del objeto Printer requiere más tiempo de desarrollo, puesto que tiene que volver a crear el formulario en el objeto Printer antes de imprimirlo. Volver a crear un formulario en el objeto Printer también requiere volver a crear:  El esquema del formulario, incluidos el título y las barras de menús.  Los controles y su contenido, incluidos texto y gráficos.  El resultado de los métodos gráficos aplicado directamente al formulario, incluido el método Print. El número de elementos que debe volver a crear en el objeto Printer depende de la aplicación y de la parte del formulario que necesite imprimir. Volver a crear el texto y los gráficos de un formularioCuando cree texto y gráficos en un formulario mediante los métodos Print, Line, Circle, PaintPicture o PSet, puede que desee que una copia de esta resultado aparezca en el objeto Printer. La manera más sencilla de conseguirlo es escribir un procedimiento independiente del dispositivo que vuelva a crear el texto y los gráficos. Por ejemplo, en el procedimiento siguiente se utiliza el método PaintPicture para imprimir la propiedad Picture de un formulario o de un control en cualquier objeto de resultado, como una impresora u otro formulario: Sub PrintAnywhere (Src As Object, Dest As Object)   Dest.PaintPicture Src.Picture, Dest.Width / 2, _      Dest.Height / 2   If Dest Is Printer Then       Printer.EndDoc   End IfEnd Sub Después, puede llamar a este procedimiento y pasarle los objetos de origen y de destino: PrintAnywhere MiForm, PrinterPrintAnywhere MiForm, TuForm Para obtener más información   Para obtener más información, vea "Print (Método)", "Line (Método)", "Circle (Método)" "Pset (Método)" o "PaintPicture (Método)" en la Referencia del lenguaje. Imprimir los controles de un formularioEl objeto Printer puede recibir el resultado del método Print y de los métodos gráficos, como los métodos Line o PSet. Pero no puede colocar controles directamente en el objeto Printer. Si la aplicación tiene que imprimir controles, debe escribir procedimientos que vuelvan a dibujar cada tipo de control utilizado en el objeto Printer o usar el método PrintForm. Imprimir el contenido del objeto PrinterEn cuanto haya colocado el texto y los gráficos en el objeto Printer, utilice el método EndDoc para imprimir el contenido. El método EndDoc avanza la página y envía todo el resultado pendiente a la cola. La cola intercepta el trabajo de impresión en su camino hacia la impresora y lo envía al disco o a la memoria, en donde se mantiene hasta que la impresora está preparada para recibirlo. Por ejemplo: Printer.Print "Ésta es la primera línea de texto _   de una pareja."Printer.Print "Ésta es la segunda línea de texto _   de la pareja."Printer.EndDoc Nota   Visual Basic llama automáticamente a EndDoc si la aplicación termina sin haberlo llamado de forma explícita. Crear documentos de múltiples páginasCuando imprima documentos grandes, puede especificar en el código dónde quiere que empiece una nueva página, mediante el método NewPage. Por ejemplo: Printer.Print "Ésta es la página 1."Printer.NewPagePrinter.Print "Ésta es la página 2."Printer.EndDoc Cancelar un trabajo de impresiónPuede terminar el trabajo de impresión actual mediante el método KillDoc. Por ejemplo, puede consultar al usuario, a través de un cuadro de diálogo, para determinar si se debe imprimir o terminar un documento: Sub PrintOrNot()   Printer.Print "Ésta es la primera línea para " & _      "ilustrar el método KillDoc."   Printer.Print "Ésta es la segunda línea para " & _      "ilustrar el método KillDoc."   Printer.Print "Ésta es la tercera línea para " & _      "ilustrar el método KillDoc."   If vbNo = MsgBox("¿Desea imprimir el documento?", _         vbYesNo) Then      Printer.KillDoc   Else      Printer.EndDoc   End IfEnd Sub Si el Administrador de impresión del sistema operativo controla el trabajo de impresión, el método KillDoc elimina todo el trabajo enviado a la impresora. Sin embargo, si el Administrador de impresión no controla el trabajo de impresión, puede que la página uno ya se haya enviado a la impresora y no se verá afectada por KillDoc. La cantidad de datos enviada a la impresora varía ligeramente de un controlador de impresora a otro. Nota   No puede usar el método KillDoc para terminar un trabajo de impresión iniciado con el método PrintForm.   
 :suerte:

Navegación

[0] Índice de Mensajes

Ir a la versión completa