因项目需要,做一个条码打印识别的demo。码制自己设定。
由于是企业内部使用自然不能用EAN-13。
又因企业内部需要使用数字和字母,以及少量的符号,如+-。暂定为128A,39码。
在网上搜了条码生成的算法,以及条码字体,无意之中发现一个免费的控件,叫科本.net条码控件。下下来非常好用,不过其demo是c#的,我自己又写了一个vb.net的demo,打包在一起:http://download.youkuaiyun.com/detail/whitewolf123/5783593
此控件功能比较完善,支持全部流行的码制,并且有导出为图片的方法,gif,bmp,jpg,png等。
打印的方法很简单,用PrintDocument打印控件的ClientRectangle即可,主要代码如下:
Private Sub vistaButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles vistaButton1.Click
Dim pd As PrintDocument = New PrintDocument()
AddHandler pd.PrintPage, AddressOf Me.pd_PrintPage '委托事件
Dim rect As Rectangle = Barcodectr.ClientRectangle
Dim cppd As PrintPreviewDialog = New PrintPreviewDialog
cppd.Document = pd
cppd.ShowDialog()
End Sub
Private Sub pd_PrintPage(ByVal sender As System.Object, ByVal e As PrintPageEventArgs)
Dim g As Graphics = e.Graphics
Dim rect As Rectangle = Barcodectr.ClientRectangle
Barcodectr.Draw(g, rect, GraphicsUnit.Inch, 0.01F, 0, Nothing)
g.Dispose()
End Sub
龙觉寺优快云_BLOG...原创...不总结永远一知半解,一知半解比无知更可怕