Печать на точечно-матричном принтере прямо из VB.NET

Я заканчиваю программу, которую пишу, и мне нужно создать печать на Epson LQ-300 + Dot-Matrix. Печать должна напечатать некоторый текст в некоторых конкретных частях бумаги (количество, имя и т. Д.). Может ли кто-нибудь указать мне правильное направление или отправить мне пример, поскольку я не смог найти что-то, чтобы напрямую отправить символы ASCII в принтер через LPT1. Спасибо.


person Panos B.    schedule 24.12.2012    source источник


Ответы (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