Foros del Web » Programación para mayores de 30 ;) » .NET »

imprimir formato en visual basic.net 2008

Estas en el tema de imprimir formato en visual basic.net 2008 en el foro de .NET en Foros del Web. Hola Estoy realizando un aplicativo que captura una informacion (en un richtextbox) y luego la imprime anexada con otra informacion que estoy llenando por codigo, ...
  #1 (permalink)  
Antiguo 06/05/2009, 13:23
 
Fecha de Ingreso: febrero-2009
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Exclamación imprimir formato en visual basic.net 2008

Hola

Estoy realizando un aplicativo que captura una informacion (en un richtextbox) y luego la imprime anexada con otra informacion que estoy llenando por codigo, me hacen falta tres cositas:
primera :necesito que me alinea toda la informacion porque cuando me lo imprime queda desalineado osea necesito justificarlo.
segundo: necesito tambien que si yo le digo 1 documento me imprima uno, si le digo 2 me imprima dos y si le digo tres o mas igual tambien me lo imprima, porque resulta que aparte de este documento necesito hacer el aplicativo para uqe me imprima muchos otros contratos.
Espero me puedan colaborar el codigo es el siguiente:
Código:
Imports System.IO
Imports System.Drawing.Printing
Public Class Form1
    Private OpcionesImprpagina As New PageSettings()
    Private CadenAImpr1 As New StringFormat()
    Private CadenAImpr2 As New StringFormat()
    Private CadenAImpr3 As New TabAlignment
    Private CadenAImpr As String
    Dim FuenteImpr As New Font("Arial", 12)
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If CheckBox1.Checked Or CheckBox2.Checked Or CheckBox3.Checked = True Then
            Try
                PrintDocument1.DefaultPageSettings = OpcionesImprpagina
                CadenAImpr = vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "En mi condición de ordenador del gasto, hago constar lo siguiente: " & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "El señor " & RichTextBox1.Text & ", identificado(a) con la Cedula de Ciudadania " & RichTextBox2.Text & " de " _
                & RichTextBox3.Text & " ha demostrado con los documentos presentados con su propuesta, experiencia y conocimiento para ser contratado por el Municipio de Santiago de Cali - Direccion de Desarrollo Administrativo, bajo la modalidad de " & RichTextBox4.Text & ", para desarrollar el siguiente objeto:  " & RichTextBox5.Text & _
                vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "Se expide la presente constancia a los " & RichTextBox6.Text '& vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "¡CALI UN NUEVO LATIR"
                PrintDialog1.Document = PrintDocument1
                PrintDocument1.Print()
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
        Else
            MsgBox("no se puede")
        End If
    End Sub
    Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        Dim numCaract As Integer

        Dim numLineas As Integer
        Dim strParaPagina As String
        Dim strFormato As New StringFormat()
        Dim rectDibujar As New RectangleF( _
        e.MarginBounds.Left, e.MarginBounds.Top, _
        e.MarginBounds.Width, e.MarginBounds.Height)
        Dim medidaTamaño As New SizeF(e.MarginBounds.Width, e.MarginBounds.Height - FuenteImpr.GetHeight(e.Graphics))
        strFormato.Trimming = StringTrimming.Word
        e.Graphics.MeasureString(CadenAImpr, FuenteImpr, medidaTamaño, strFormato, numCaract, numLineas)
        strParaPagina = CadenAImpr.Substring(0, numCaract)
        e.Graphics.DrawString(strParaPagina, FuenteImpr, Brushes.Black, rectDibujar, strFormato)
        'If numCaract < CadenAImpr.Length Then ' pediente este
        '    CadenAImpr = CadenAImpr.Substring(numCaract)
        '    e.HasMorePages = True
        'Else

        '    e.HasMorePages = False
        '    CadenAImpr = RichTextBox3.Text
        'End If ' borro
        strFormato.Trimming = StringTrimming.Word
        e.Graphics.MeasureString(CadenAImpr, FuenteImpr, medidaTamaño, strFormato, numCaract, numLineas)
        strParaPagina = CadenAImpr.Substring(0, numCaract)
        e.Graphics.DrawString(strParaPagina, FuenteImpr, Brushes.Black, rectDibujar, strFormato)
        Dim font1 As New Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point)
        CadenAImpr1.Alignment = StringAlignment.Center
        CadenAImpr1.LineAlignment = StringAlignment.Center
        rectDibujar.Height = 200
        rectDibujar.Width = 500
        e.Graphics.DrawString("CONSTANCIA DE IDONEIDAD Y EXPERIENCIA", font1, Brushes.Blue, rectDibujar, CadenAImpr1)
        rectDibujar.Height = 1400
        rectDibujar.Width = 600
        e.Graphics.DrawString("ARTURO FERNANDO BARCO DIAZ", font1, Brushes.Blue, rectDibujar, CadenAImpr1)
        Dim font2 As New Font("Arial", 12, GraphicsUnit.Point)
        rectDibujar.Height = 1450
        rectDibujar.Width = 600
        e.Graphics.DrawString("Director de Desarrollo Administrativo", font2, Brushes.Blue, rectDibujar, CadenAImpr1)
        'CadenAImpr2.Alignment.Near = StringAlignment.Near
        'CadenAImpr2.LineAlignment = StringAlignment.Center
        Dim font3 As New Font("Arial", 8, GraphicsUnit.Point)
        rectDibujar.Height = 1600
        rectDibujar.Width = 1000
        e.Graphics.DrawString(vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & _
                              vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & _
                              vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & _
                              vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & _
                              vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & _
                              "Proyectó: oficina de Apoyo Administrativo", font3, Brushes.Blue, rectDibujar)

   

    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        End
    End Sub
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Try
            PageSetupDialog1.PageSettings = OpcionesImprpagina
            PageSetupDialog1.ShowDialog()

        Catch ex As Exception
        End Try
    End Sub
   Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Try
            PrintDocument1.DefaultPageSettings = OpcionesImprpagina
            CadenAImpr = RichTextBox1.Text
            CadenAImpr = RichTextBox2.Text
            CadenAImpr = RichTextBox3.Text
            CadenAImpr = RichTextBox4.Text
            CadenAImpr = RichTextBox5.Text
            CadenAImpr = RichTextBox6.Text
            PrintPreviewDialog1.Document = PrintDocument1
            PrintPreviewDialog1.ShowDialog()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        'Try
        '    PrintDocument1.DefaultPageSettings = OpcionesImprpagina
        '    CadenAImpr = RichTextBox1.Text
        '    PrintDialog1.Document = PrintDocument1
        '    Dim result As DialogResult = PrintDialog1.ShowDialog()
        '    If result = DialogResult.OK Then
        '        PrintDocument1.Print()

        '    End If
        'Catch ex As Exception

        'End Try
    End Sub
End Class
los objetos que estoy utilizando son 6 richtextbox y 3 checked
Espero me puedan ayudar.
Gracias Chaoo.
  #2 (permalink)  
Antiguo 06/05/2009, 14:46
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: imprimir formato en visual basic.net 2008

Para alinear el texto:

0 - Left Alignment, 1 - Right Alignment, 2 - Center Alignment.

RichTextBox1.SelAlignment = 2

Para concatener texto vas a tener que de alguna forma juntar los códigos de los tres ritch, podes por ejemplo poner otro ritch oculto que lo usas para que tenga los tres texto y luego lo imprimis
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #3 (permalink)  
Antiguo 07/05/2009, 07:08
 
Fecha de Ingreso: febrero-2009
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: imprimir formato en visual basic.net 2008

Muchas gracias por tu colaboracion, pero si yo hago eso me alinea lo que esta en el objeto richtextbox pero lo que estoy metiendo por codigo que??? ademas yo necesito es justificarlo porque se supone es un contrato.
Pd. De todas maneras muchisimas gracias por tu colaboracion.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:46.