Hola a todos, tal vez alguien me puede ayudar, estoy realizando una aplicacion con WinForms en VS 2003 y resulta que tengo un documento en papel continuo, el cual debo de imprimir, pero el tamaño de cada hoja es menor al tamaño de la hoja carta, imprimo la informacion que necesito sobre el documento, y al momento de hacer el salto de pagina hala la siguiente pagina hasta en medio, alguien sabe como se imprime en hojas de papel continuo desde VS 2003
P.D.
Obtengo la info de la base de datos y lo coloco en un archivo de texto, luego leo el archivo de texto y lo mando a imprimir, al momento de realizar este paso, utilizo la clase PaperSize para indicarle de que tamaño es la hoja que voy a imprimir y segun yo, asi iba a realizar correctamente el salto de pagina, pero no funciona como yo espero, este es el codigo que estoy utilizando
Try
printFont =
New Font("Courier New", 10)
Dim pd As New PrintDocument
Dim tamanioPapel As New PaperSize("Doc", 850, 910)
pd.DefaultPageSettings.PaperSize = tamanioPapel
AddHandler pd.PrintPage, AddressOf pd_PrintPage
' Print the document.
pd.Print()
Finally
rArchivo.Close()
End Try
y en la funcion pd_PrintPage es :
Private Sub pd_PrintPage(ByVal sender As Object, ByVal ev As PrintPageEventArgs)
Dim linesPerPage As Single = 0
Dim yPos As Single = 0
Dim count As Integer = 0
Dim leftMargin As Single = ev.MarginBounds.Left
Dim topMargin As Single = ev.MarginBounds.Top
Dim line As String = Nothing
' Calculate the number of lines per page.
linesPerPage = ev.MarginBounds.Height / printFont.GetHeight(ev.Graphics)
' Iterate over the file, printing each line.
While count < linesPerPage
line = rArchivo.ReadLine()
If line Is Nothing Then
Exit While
End If
yPos = topMargin + count * printFont.GetHeight(ev.Graphics)
ev.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, _
yPos,
New StringFormat)
count += 1
End While
' If more lines exist, print another page.
If Not (line Is Nothing) Then
ev.HasMorePages =
True
Else
ev.HasMorePages =
False
End If
End Sub
Gracias por su tiempo