Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: almondk en 30 de Junio 2014, 21:46

Título: imprimir formulario con Visual Basic ajustar tamaño para que no se corte
Publicado por: almondk en 30 de Junio 2014, 21:46
Hola buenas tardes necesito su ayuda, tengo un formulario en VB 2010 con una resolución de 1200*1000 pero al momento de mandar a imprimir en tamaño carta, se corta la impresión ya lo intente con power packs y haciendo la forma una imagen pero no resulta. tienen alguna idea?
Necesito su apoyo.

Saludos!!
Título: Re:Ayuda Impresion VB
Publicado por: Ogramar en 01 de Julio 2014, 11:48
Hola, quizás lo que se comenta en este hilo te sea de utilidad: https://www.aprenderaprogramar.com/foros/index.php?topic=784.0

De cualquier forma, pega el código que estés usando. Para ello pulsa el botón # del editor y entre las etiquetas [ code ] ... [ / code ] pega tu código. Si es muy largo puedes ponerlo como archivos adjuntos en vez de pegarlo. Para poner un archivo adjunto pulsa sobre opciones adicionales y luego elige el archivo o archivos.

Saludos almondk
Título: Re:Ayuda Impresion VB
Publicado por: almondk en 01 de Julio 2014, 16:09
Hola muchas gracias, claro que me ayudo muchísimo. pero terminé haciéndolo de otra forma primero ajusto mi formulario a lo alto de la resolución y para que me imprima en toda la hoja escalo la altura. Les envío mi código claro que hubo aportaciones de muchos sitios pero así quedo al final. gracias.

Código: [Seleccionar]
Dim img As New Bitmap(Me.Width - 256, Me.Height)
        Dim printsize As Size = e.MarginBounds.Size
        Dim scale As Double = 1
        Dim scalehg As Double = 1.2
        Dim pos As New Size(30, 30)
        Me.DrawToBitmap(img, New Rectangle(Point.Empty, Me.Size))
        printsize.Width *= 2.5
        printsize.Height *= 1
        If img.Width > printsize.Width Then
            scale = printsize.Width / img.Width
            e.Graphics.ScaleTransform(scale, scale)
        End If
        If (img.Height * scalehg > printsize.Height) Then
            scale = printsize.Height / (img.Height * scale)
            e.Graphics.ScaleTransform(scale, scalehg)
        End If
        e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
        e.Graphics.DrawImage(img, pos)
        img.Dispose()
    End Sub