Vb.net 打印时的文本换行
我试图确保我的Vb.net 打印时的文本换行,vb.net,printing,word-wrap,Vb.net,Printing,Word Wrap,我试图确保我的PrintDocument上的单词和字符一直到页面边距并换行。目前,它有一个很大的缺口: 红色是边距。我希望文本一直到页边空白处,如果超过,则将其包装 这是我的打印文档代码: Private Sub PrintDoc_PrintPage(sender As Object, e As PrintPageEventArgs) Handles PrintDoc.PrintPage Dim PrintFont As New Font(TheTextBox.FontFamily.
PrintDocument
上的单词和字符一直到页面边距并换行。目前,它有一个很大的缺口:
红色是边距。我希望文本一直到页边空白处,如果超过,则将其包装
这是我的打印文档
代码:
Private Sub PrintDoc_PrintPage(sender As Object, e As PrintPageEventArgs) Handles PrintDoc.PrintPage
Dim PrintFont As New Font(TheTextBox.FontFamily.ToString(), Convert.ToSingle(TheTextBox.FontSize))
Dim charactersOnPage As Integer = TheTextBox.Text.Length
Dim linesPerPage As Integer = TheTextBox.LineCount
e.Graphics.DrawRectangle(Pens.Red, e.MarginBounds)
e.Graphics.MeasureString(StringToPrint, PrintFont, e.MarginBounds.Size, StringFormat.GenericDefault, charactersOnPage, linesPerPage)
e.Graphics.DrawString(StringToPrint, PrintFont, Brushes.Black, e.MarginBounds, StringFormat.GenericDefault)
StringToPrint = StringToPrint.Substring(charactersOnPage)
e.HasMorePages = StringToPrint.Length > 0
End Sub
你需要像在Word中一样在文本中使用
justify
模式。你知道从哪里开始吗?Msdn代码项目?搜索justify text algorithm
可能是一个好的开始!