我正在完成我正在编写的程序,我必须创建一个打印到爱普生LQ-300+点阵。印刷必须在纸张的特定部分打印一些文本(金额,名称等)。有没有人能给我指出正确的方向或给我一个例子,因为我无法找到一些东西,以便通过LPT1直接将ASCII字符发送到打印机。谢谢你。
就定位而言,这将主要是试验和错误,它也将取决于字体以及您是否使用通用/文本驱动程序(如果是的话,字符间距,行间距和字体是打印机为设置的)。在DOS时代,你可以将单个字符发送到打印机,但在windows中打印是基于页面的,这意味着你需要使用PrintDocument类,使用PrintPageEventArgs图形属性的PrintString方法来处理PrintPage事件,以定位文本的位置。
像这样:
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