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:
los objetos que estoy utilizando son 6 richtextbox y 3 checkedImports 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
Espero me puedan ayudar.
Gracias Chaoo.