
06/05/2009, 13:23
|
| | Fecha de Ingreso: febrero-2009
Mensajes: 27
Antigüedad: 16 años Puntos: 0 | |
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. |