• Domingo 22 de Diciembre de 2024, 19:12

Autor Tema:  Imprimir Contenido De Formulario Factura  (Leído 3034 veces)

liverso

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Imprimir Contenido De Formulario Factura
« en: Sábado 3 de Septiembre de 2005, 20:27 »
0
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

  • Miembro activo
  • **
  • Mensajes: 72
    • Ver Perfil
    • http://drakerdg.xbot.es/wordpress/
Re: Imprimir Contenido De Formulario Factura
« Respuesta #1 en: Domingo 4 de Septiembre de 2005, 00:07 »
0
:comp: Pueder utilizar el objeto Printer de Visual Basic.  Esto aparece en el help:

Código: Text
  1.  
  2. Printer (Objeto, colección Printers)
  3.            
  4.  
  5. El objeto Printer le permite comunicarse con una impresora del sistema (inicialmente la impresora predeterminada).
  6.  
  7. Lacolección Printers le permite obtener información acerca de todas las impresoras del sistema disponibles.
  8.  
  9. Sintaxis
  10.  
  11. Printer
  12.  
  13. Printers(índice)
  14.  
  15. El marcador de posición índice representa un entero entre 0 y Printers.Count-1.
  16.  
  17. Comentarios
  18.  
  19. 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.
  20.  
  21. 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.
  22.  
  23. 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:
  24.  
  25. Dim X As Printer
  26. For Each X In Printers
  27.    If X.Orientation = vbPRORPortrait Then
  28.       ' La define como predeterminada del sistema.
  29.       Set Printer = X
  30.       ' Sale del bucle.
  31.       Exit For
  32.    End If
  33. Next
  34.  
  35. 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.
  36.  
  37. 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.
  38.  
  39.  
  40.  

Y esta información referente a cómo se usa:

Código: Text
  1.  
  2. Imprimir con el objeto Printer
  3.  
  4.  
  5. Hay varias maneras de colocar texto y gráficos en el objeto Printer. Para imprimir con el objeto Printer, siga las instrucciones siguientes:
  6.  
  7. Asigne el miembro específico de la colección Printers al objeto Printer si quiere imprimir en una impresora distinta de la impresora predeterminada.
  8.  
  9.  
  10. Coloque texto y gráficos en el objeto Printer.
  11.  
  12.  
  13. Imprima el contenido del objeto Printer con los métodos NewPage o EndDoc.
  14. Propiedades del objeto Printer
  15. Las 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.
  16.  
  17. 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.
  18.  
  19. 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:
  20.  
  21. For pageno = 1 To 4
  22.    Printer.PrintQuality = -1 * pageno
  23.    Printer.Print "La calidad de esta página es"; pageno
  24.    Printer.NewPage
  25. Next
  26.  
  27. 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:
  28.  
  29. Printer.PrintQuality = 300
  30.  
  31. 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.
  32.  
  33. 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.
  34.  
  35. Propiedades de escala
  36. El objeto Printer tiene estas propiedades de escala:
  37.  
  38. ScaleMode
  39.  
  40.  
  41. ScaleLeft y ScaleTop
  42.  
  43.  
  44. ScaleWidth y ScaleHeight
  45.  
  46.  
  47. Zoom
  48. 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:
  49.  
  50. Printer.ScaleLeft = -((Printer.Width - PFrm.Width) / 2)
  51. Printer.ScaleTop = -((Printer.Height - PFrm.Height) _
  52.    / 2)
  53.  
  54. 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:
  55.  
  56. Printer.Zoom = 50
  57.  
  58. Colocar texto y gráficos
  59. Puede 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:
  60.  
  61. Printer.CurrentX = 0
  62. Printer.CurrentY = 0
  63.  
  64. 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.
  65.  
  66. Imprimir formularios en el objeto Printer
  67. Puede 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.
  68.  
  69. Volver a crear un formulario en el objeto Printer también requiere volver a crear:
  70.  
  71. El esquema del formulario, incluidos el título y las barras de menús.
  72.  
  73.  
  74. Los controles y su contenido, incluidos texto y gráficos.
  75.  
  76.  
  77. El resultado de los métodos gráficos aplicado directamente al formulario, incluido el método Print.
  78. 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.
  79.  
  80. Volver a crear el texto y los gráficos de un formulario
  81. Cuando 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.
  82.  
  83. 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:
  84.  
  85. Sub PrintAnywhere (Src As Object, Dest As Object)
  86.    Dest.PaintPicture Src.Picture, Dest.Width / 2, _
  87.       Dest.Height / 2
  88.    If Dest Is Printer Then
  89.       Printer.EndDoc
  90.    End If
  91. End Sub
  92.  
  93. Después, puede llamar a este procedimiento y pasarle los objetos de origen y de destino:
  94.  
  95. PrintAnywhere MiForm, Printer
  96. PrintAnywhere MiForm, TuForm
  97.  
  98. 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.
  99.  
  100. Imprimir los controles de un formulario
  101. El 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.
  102.  
  103. Imprimir el contenido del objeto Printer
  104. En 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:
  105.  
  106. Printer.Print "Ésta es la primera línea de texto _
  107.    de una pareja."
  108. Printer.Print "Ésta es la segunda línea de texto _
  109.    de la pareja."
  110. Printer.EndDoc
  111.  
  112. Nota   Visual Basic llama automáticamente a EndDoc si la aplicación termina sin haberlo llamado de forma explícita.
  113.  
  114. Crear documentos de múltiples páginas
  115. Cuando 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:
  116.  
  117. Printer.Print "Ésta es la página 1."
  118. Printer.NewPage
  119. Printer.Print "Ésta es la página 2."
  120. Printer.EndDoc
  121.  
  122. Cancelar un trabajo de impresión
  123. Puede 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:
  124.  
  125. Sub PrintOrNot()
  126.    Printer.Print "Ésta es la primera línea para " & _
  127.       "ilustrar el método KillDoc."
  128.    Printer.Print "Ésta es la segunda línea para " & _
  129.       "ilustrar el método KillDoc."
  130.    Printer.Print "Ésta es la tercera línea para " & _
  131.       "ilustrar el método KillDoc."
  132.    If vbNo = MsgBox("¿Desea imprimir el documento?", _
  133.          vbYesNo) Then
  134.       Printer.KillDoc
  135.    Else
  136.       Printer.EndDoc
  137.    End If
  138. End Sub
  139.  
  140. 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.
  141.  
  142. Nota   No puede usar el método KillDoc para terminar un trabajo de impresión iniciado con el método PrintForm.
  143.  
  144.  
  145.  

 :suerte:
Saludos desde Guatemala, C. A.
Electrobotics