Salto de página con PrintDocument
Publicado por
Paulo (1 intervención) el 20/09/2011 17:12:33
Encuentro increíble que esta sea la única forma de salto de página, con PrintDocument, alguien sabe si existe como a la antigua un caracter de control Chr(12) o algo por estilo?
De acuerdo a la estructura de impresión, si quieres controlar el largo de la página lo tienes que hacer en la impresión de cada línea y si en esta misma rutina estas leyendo filas de una BD, el e.HasMorePages=true, volverá a leer los mismos registros de la BD cada vez. es lo que me está sucediendo ahora. A menos que haya que escribir el código de impresión con una estructura totalmente diferente, Microsoft sugiere algo al respecto?
les paso lo que estoy intentando:
al comienzo tengo definido:
Dim prnTxt As New PrintDocument
Private Sub Genera_Reporte_Impresora(ByVal esPreview As Boolean)
prnTxt.DocumentName = "REPORTE1"
AddHandler prnTxt.PrintPage, AddressOf Me.Genera_Reporte
prnTxt.DefaultPageSettings.PaperSize.Height = 0.11
prnTxt.Print()
End Sub
Private Sub Genera_Reporte(ByVal sender As System.Object, ByVal ePrint As PrintPageEventArgs)
...... leyendo una BD
While datatbl.Read = True
ePrint.Graphics.DrawString(datatbl(0), New Font(sTipoLetra, iTamanoLetra0, FontStyle.Regular, GraphicsUnit.Point), Brushes.Black, iCol, iLinea)
.....
' si agrego aquí el ePrint.HasMorePages=True, se reimprimen todas las paginas iguales.
End While
End Sub