Как сделать перенос слов при печати через printdocument с помощью vb.net

Я пытаюсь распечатать чек на термопринтере EPSON TM-T82 ReceiptSA4 (рулон 80 мм). Но при печати вся строка не переносится на следующую строку.

Private Sub prnLDocument_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles prnLDocument.PrintPage
        Dim sInvNo As String = "Explored the DrawString method and couldn't figure out how to do the automatic word wrap. Can you please. After setting the printer name, call IsValid to determine if the printer name is recognized as a valid printer on the system."

        Dim InvTitleFont As Font = New Font("Arial", 7, FontStyle.Regular)
        e.Graphics.DrawString(sInvNo, InvTitleFont, BlueBrush, 5, 20)
End Sub

Private Sub BillPrint()
        Try
            prnLDocument.PrinterSettings.PrinterName = "EPSON TM-T82 ReceiptSA4" 
            prnLPreview.Document = Me.prnLDocument
            prnLPreview.ShowDialog()
        Catch ex As Exception
            MessageBox.Show(ex.ToString())
        End Try
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        BillPrint()
End Sub

Требуется помощь, как решить эту проблему с печатью.


person Ashish    schedule 12.07.2019    source источник
comment
Если вы укажете ему прямоугольник для печати, а не точку, с которой следует начать печать, текст будет перенесен за вас: DrawString(String, Font, Brush, RectangleF).   -  person Andrew Morton    schedule 12.07.2019


Ответы (1)


sInvNo.MaximumSize = New Size(100, 0)
sInvNo.AutoSize = True

измените "100" на то, что вам больше подходит :)

person OctaCode    schedule 12.07.2019
comment
Я взял sInvNo как строку. Здесь упомянутый код дает ошибку. - person Ashish; 12.07.2019
comment
я сделал это с меткой, просто добавьте метку в свою форму, а затем измените текст своей метки с помощью кода, или вам придется вручную добавлять разрывы внутри строки, например: hello & (vb.newline или vbCrLf) & world - person OctaCode; 12.07.2019