Curso Completo Base de datos

Tamaño de papel personalizado en Impresoras!

Colapsar
Este tema ha sido cerrado
X
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar todos
nuevos mensajes

  • Tamaño de papel personalizado en Impresoras!

    Estimados amigos,
    Alguien sabe si se puede configurar un tamaño de papel PERSONALIZADO de las impresoras con Windows XP?
    Poque he buscado mucho y no lo encontre. Todas las impresoras que instalo en Windows XP solo me dan varios tamaños fijos (A4, Carta, etc.) en el Panel de Control.
    Si alguien me puede ayudar como hacer le agradeceria mucho. Ya que necesito definir diferentes tamaños de papel para imprimir informes con Crystal Report y Visual Basic directo.

    Rafael Barrios
    Paraguay
    Lic. Rafael Barrios Falcón
    ELECTROMATICA
    --------------------------------------
    "El saber y el conocimiento compartido, es la mejor forma de crecer todos juntos y soñar con un mundo mejor."

  • #2
    Échale un vistazo a este vídeo; seguro que te ayuda a encontrar la solución.
    José María Movilla Cuadrado
    ______________________
    Normas del foro
    www.foro.vb-mundo.com
    www.vb-mundo.com

    Comentario


    • #3
      Gracias

      Muchas gracias Josè Marìa Movilla.
      Creo que con eso ya estarà solucionado. Voy a probarlo.
      Gracias por tu amabilidad.
      Lic. Rafael Barrios Falcón
      ELECTROMATICA
      --------------------------------------
      "El saber y el conocimiento compartido, es la mejor forma de crecer todos juntos y soñar con un mundo mejor."

      Comentario


      • #4
        Gracias a ti. Esperamos confirmes el buen resultado...
        José María Movilla Cuadrado
        ______________________
        Normas del foro
        www.foro.vb-mundo.com
        www.vb-mundo.com

        Comentario


        • #5
          Re: Tamaño de papel personalizado en Impresoras!

          Como hago para que VB 2005 no me cambie la fuente de los reportes hechos en Crystal Report XI Release 2 al momento de Imprimir. Por ejemplo, yo tengo un reporte para imprimir facturas, este reporte tiene un tipo de letra Draft 12, sin embargo al momento de Imprimir desde VB2005 este me cambia la fuente a MS San Serif.

          Agradezco sus sugerencias.

          Comentario


          • #6
            Re: Tamaño de papel personalizado en Impresoras!

            No veo qué relación tiene tu pregunta con el título de este tema...

            ¡Si embarullamos las cosas, el día de mañana nadie será capaz de sacar provecho del foro!
            José María Movilla Cuadrado
            ______________________
            Normas del foro
            www.foro.vb-mundo.com
            www.vb-mundo.com

            Comentario


            • #7
              Re: Tamaño de papel personalizado en Impresoras!

              Se que es un tema antiguo, pero necesito ayuda con este tema, es la primera vez que realizo una aplicacion para imprimir en un formato preimpreso, que tiene sus medidas establecidas 21.5 cms x 21.5 cms., ya vi el video y se procedio a crear la nueva impresora con el papel personalizado, hasta ahi todo bien, pero cuando envio a imprimir el cheque en esa impresora, me imprime en tamaño carta, no se como indicarle en el codigo, que utilice el papel predeterminado en la impresora.

              Luego de eso intente asi:

              printer.hight = 21.5
              printer.width = 21.5
              printer.papersize = 256 ' que es el definido por el usuario

              Pero al enviar a imprimir, me da error dice que "Error 380 en tiempo de ejecucion. El valor de la propiedad no es valido". El error se marca en Printer.papersize = 256. Si me pudieran orientar se los agradeceria mucho.

              Comentario


              • #8
                Re: Tamaño de papel personalizado en Impresoras!

                No tienes que definir el tamaño del papel por código; simplemente tienes que definir que vas a utilizar para imprimir esa impresora que acabas de crear. Algo así:

                Código:
                Dim xPrint As Printer
                For Each xPrint In Printers
                   If xPrint.DeviceName = Nombre_de_tu_nueva_Impresora Then
                      ' La define como predeterminada del sistema.
                      Set Printer = xPrint
                      Tu_Objeto_de_impresión.Device = Nombre_de_tu_nueva_Impresora
                      DoEvents
                      Exit For
                   End If
                Next
                Cuando salgas de este procedimiento, no olvides redefinir como impresora predeterminada la que utilices habitualmente.

                Eso de Tu_Objeto_de_impresión.Device se refiere a si estás utilizando para imprimir un Obj que emplee esa propiedad.
                José María Movilla Cuadrado
                ______________________
                Normas del foro
                www.foro.vb-mundo.com
                www.vb-mundo.com

                Comentario


                • #9
                  Re: Tamaño de papel personalizado en Impresoras!

                  Gracias por la pronta respuesta, lo que yo hice fue manualmente poner como predeterminada mi nueva impresora que se llama: ch.21.50 x 21.50 y que tiene configurada como papel predeterminado paper 21.50 x 21.50. Esto lo hice manualmente. Pero a pesar de eso lo sigue imprimiendo en tamaño carta. Voy a probar el codigo, pero por lo que entiendo lo que el codigo realiza es volver como predeterminada mi impresora ch.21.50 x 21.50. Pero deberia funcionar si ya lo habia hecho manualmente.

                  Comentario


                  • #10
                    Re: Tamaño de papel personalizado en Impresoras!

                    Fue negativo el resultado, sigue imprimiendo en tamaño carta !!!! Ya no se que hacer o que intentar. Este es el codigo que estoy utilizando, talvez alguien me podria indicar donde estoy cometiendo el error, agradeciendo sus comentarios y su ayuda. El papel ya esta definido, al igual que la impresora, no se que pasa:

                    Private Function cmd_print()
                    Dim xPrint As Printer

                    Printer.Height = 215
                    Printer.Width = 215

                    For Each xPrint In Printers
                    If xPrint.DeviceName = "\\Usuario\CH-21.50x21.50" Then
                    ' La define como predeterminada del sistema.
                    Set Printer = xPrint
                    DoEvents
                    Exit For
                    End If
                    Next

                    Printer.ScaleHeight = 215
                    Printer.ScaleWidth = 215
                    Printer.ForeColor = RGB(0, 0, 0)
                    Printer.Font = "Courier New"

                    Printer.FontSize = 8


                    ' **NOMBRE DEL USUARIO
                    Printer.FontSize = 9
                    Printer.CurrentX = 18 'Posición horizontal
                    Printer.CurrentY = 75 'Posición vertical
                    Printer.Print "Emisor del Cheque"

                    ' **NOMBRE DE REVISOR
                    Printer.FontSize = 9
                    Printer.CurrentX = 85 'Posición horizontal
                    Printer.CurrentY = 75 'Posición vertical
                    Printer.Print "Revisor del cheque"



                    'Cuentas de Cargo1
                    Printer.CurrentX = 5 'Posición horizontal
                    Printer.CurrentY = 90 'Posición vertical
                    Printer.FontSize = 7
                    Printer.Print "900-900-090-000"


                    'Cuentas de Cargo2
                    Printer.CurrentX = 65 'Posición horizontal
                    Printer.CurrentY = 90 'Posición vertical
                    Printer.FontSize = 7
                    Printer.Print "800-800-080-000"




                    'Cuentas de Abono
                    Printer.CurrentX = 127 'Posición horizontal
                    Printer.CurrentY = 90 'Posición vertical
                    Printer.FontSize = 7
                    Printer.Print "700-700-700-001"

                    '*** fecha
                    Printer.FontSize = 8 'El tamaño del texto
                    Printer.CurrentX = 27 'Posición horizontal
                    Printer.CurrentY = 173 'Posición vertical
                    Dim mes As Integer
                    Dim mesc As String
                    mes = Month(Now)
                    mesc = MonthName(mes)

                    Printer.Print "Guatemala, " & Day(Now) & " de " & mesc & " del " & Year(Now)


                    ' BENEFICIARIO
                    Printer.FontSize = 8 'El tamaño del texto
                    Printer.CurrentX = 27 'Posición horizontal
                    Printer.CurrentY = 181 'Posición vertical5
                    Printer.Print "**" & StrConv((Trim("Sistemas Tecnologicos, S.A.")), vbUpperCase) & "**"



                    ' ***MONTO DEL CHEQUE
                    Printer.FontSize = 8 'El tamaño del texto
                    Printer.CurrentX = 27 'Posición horizontal
                    Printer.CurrentY = 186 'Posición vertical5
                    Printer.Print "**" & numaletras(2450444.83) & "**"

                    ' Causal
                    Printer.FontSize = 8 'El tamaño del texto
                    Printer.CurrentX = 12 'Posición horizontal
                    Printer.CurrentY = 193 'Posición vertical5
                    Printer.Print "Causal del Cheque"

                    Printer.EndDoc

                    End Function

                    Comentario


                    • #11
                      Re: Tamaño de papel personalizado en Impresoras!

                      ¿Has hecho la prueba de seleccionar esa nueva impresora y preparar una carta con Word, a ver qué formato adquiere la página?. Es fundamental que Word prepare la página con el formato que tienes definido tú para esa impresora.
                      José María Movilla Cuadrado
                      ______________________
                      Normas del foro
                      www.foro.vb-mundo.com
                      www.vb-mundo.com

                      Comentario


                      • #12
                        Re: Tamaño de papel personalizado en Impresoras!

                        Si entendi bien lo que debo hacer es en Word, configurar el tipo de papel y seleccionar la impresora creada, he hecho una prueba de esta manera en Word y lo imprime bien, pero como hago que me funcione con el metodo que estoy utilizando, ya que usando el codigo que abajo escribi, siempre distorciona las medidas y lo acomoda todo a una hoja tamaño carta . Que puedo hacer o que recomendacion me dan?

                        Comentario


                        • #13
                          Re: Tamaño de papel personalizado en Impresoras!

                          Pues, la verdad es que no sé qué aconsejarte para que puedas asegurarte de que enviando órdenes de impresión directa estés utilizando el tamaño de papel adecuado... Por lógica, si ya está seleccionada la nueva impresora como predeterminada, debiera ir todo Ok... ¿Has hecho un Stop después de cambiar la impresora del sistema para ver si está seleccionada la nueva impresora?.

                          Como último recurso (penúltimo, por supuesto...) podrías definir un DataReport e imprimirlo con la impresora adecuada... Yo trabajo con los reportes de C1 y me va de maravilla; manejo impresoras de 5 pulgadas, de 8, de 11, de 12 y Din-A4 (todas ellas impresoras virtuales, porque en realidad las 2 impresoras físicas que manejan en una de "mis" empresas pueden ser interpretadas como una de esas 5 impresoras virtuales, que son sólo distintas configuraciones de la misma máquina)
                          José María Movilla Cuadrado
                          ______________________
                          Normas del foro
                          www.foro.vb-mundo.com
                          www.vb-mundo.com

                          Comentario


                          • #14
                            Re: Tamaño de papel personalizado en Impresoras!

                            En apoyo de las palabras de J.M.Movilla, sería recomendable que te asegures que la impresora CH-21.50x21.50 realmente existe con ese nombre, está disponible y que la seleccionas como tal. Rastreas todas las impresoras existentes en el equipo, pero no te aseguras de que ese nombre exxiste....

                            Por otra parte observo que utilizas las propiedades ScaleHeight y ScaleWidth, propiedades que lo que realmente hacen es una transformación de coordenadas sobre las dimensiones establecidas por defecto, pero en ningún caso asignan un tamaño de papel. Tienes que utilizar las propiedades WIDTH y HEIGHT para cambiar el tamaño.


                            No sé si ahora, con estos nuevos consejos, te funcionará
                            Un cordial saludo
                            -Acalanto-

                            Madrid - España

                            Leer detalladamente las normas del foro es una buena forma de comenzar a participar en él. Te llevará unos pocos minutos y el colectivo de usuarios te lo agradecerá. <si no las has leído sigue este enlace>

                            Comentario


                            • #15
                              Re: Tamaño de papel personalizado en Impresoras!

                              Gracias por su ayuda, en el codigo que les puse si define las propieades asi:
                              Printer.Height = 215
                              Printer.Width = 215


                              y al momento de enviar a imprimir siempre sale un mensaje que indica donde uno esta enviando a imprimir, este mensaje lo envia windows siempre que uno imprime, y ahi indica que esta imprimirendo en la impresora ch.21.5 x 21.5.

                              Solo les voy a hacer una ultima consulta, uno define height y width, tambien scaleheight y scalewidth, pero que es lo que uno define, centimetros, milimetros? Talvez ahi esta mi error, porque yo estoy poniendo 215 asumiendo que son 215 milimetros es decir 21.5 cms, pero si la medida es otra, ahi esta mi error, agradeciendo sus comentarios y su ayuda.

                              Comentario

                              Trabajando...
                              X