Я заканчиваю программу, которую пишу, и мне нужно создать печать на Epson LQ-300 + Dot-Matrix. Печать должна напечатать некоторый текст в некоторых конкретных частях бумаги (количество, имя и т. Д.). Может ли кто-нибудь указать мне правильное направление или отправить мне пример, поскольку я не смог найти что-то, чтобы напрямую отправить символы ASCII в принтер через LPT1. Спасибо.
Печать на точечно-матричном принтере прямо из VB.NET
Ответы (1)
Позиционирование будет в основном методом проб и ошибок, оно также будет зависеть от шрифта и от того, используете ли вы универсальный / текстовый драйвер (, если да, то расстояние между символами, межстрочный интервал и шрифт это то, для чего когда-либо был настроен принтер). Еще во времена DOS вы могли отправлять на принтер отдельные символы, но печать в Windows основана на страницах, что означает, что вам нужно будет использовать PrintDocument Class, обработайте событие PrintPage с помощью PrintPageEventArgs Графические свойства PrintString Method для размещения текста там, где вам нужно.
Что-то вроде этого:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
If PrintDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
PrintDocument1.Print()
End If
End Sub
Private Sub PrintDocument1_PrintPage(sender As System.Object, e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
e.Graphics.DrawString("Hello World", New Font("Arial", 10), Brushes.Black, New Point(100, 100))
End Sub
person
Mark Hall
schedule
24.12.2012