Я создал и сохранил .txt-файл, и теперь я прав, чтобы его распечатать. Файл может быть достаточно большим, если потребуется несколько страниц. Вот мой код:Как печатать текстовые файлы?
'Print file
Dim docName As String = name1 & " " & name2 & ".txt"
Dim docPath As String = "Z:\\Completed\"
printDocument1.DocumentName = docName
Dim stream As New FileStream(docPath & docName, FileMode.Open)
Try
Dim reader As New StreamReader(stream)
Try
stringToPrint = reader.ReadToEnd()
Finally
reader.Dispose()
End Try
Finally
stream.Dispose()
End Try
printDocument1.Print()
Private Sub printDocument1_PrintPage(ByVal sender As Object, _
ByVal e As PrintPageEventArgs)
Dim charactersOnPage As Integer = 0
Dim linesPerPage As Integer = 0
' Sets the value of charactersOnPage to the number of characters
' of stringToPrint that will fit within the bounds of the page.
e.Graphics.MeasureString(stringToPrint, Me.Font, e.MarginBounds.Size, _
StringFormat.GenericTypographic, charactersOnPage, linesPerPage)
' Draws the string within the bounds of the page
e.Graphics.DrawString(stringToPrint, Me.Font, Brushes.Black, _
e.MarginBounds, StringFormat.GenericTypographic)
' Remove the portion of the string that has been printed.
stringToPrint = stringToPrint.Substring(charactersOnPage)
' Check to see if more pages are to be printed.
e.HasMorePages = stringToPrint.Length > 0
End Sub
Моя проблема заключается в том, что он печатает пустую страницу каждый раз. Выполняя код, я вижу, что «docName» и «docPath» установлены правильно.
Пример:
DOCNAME = Test 1.TXT
DocPath = Z: \ Завершенного \
You» re используя 'printDocument1.Print()', но вы загружаете свой файл в переменную 'stringToPrint'. Кроме того, ваш второй фрагмент кода кажется несвязанным, так как он никогда не называется (из того, что вы показали). –
@JustinRyan Я понял, что 'printDocument1.Print()' вызвал второй фрагмент, который затем напечатал то, что было в 'stringToPrint'. Пройдя через мой код, я вижу, что второй фрагмент никогда не вызывается, но я не уверен, как это сделать. Как я могу напечатать то, что находится в 'stringToPrint'? Кроме того, является ли второй фрагмент ненужным для печати многостраничного документа? –