条码打印,应该如何下手

ynchenlong 2010-05-12 02:56:27
最近,想用VB写一个条码打印的小程序,可我从来没接触过条码打印机,问是否跟其它打印机一样使用Prent对象打印图形可以了吗,还是有其它方法?
建了个QQ群17427390,交流交流。
...全文
327 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
solen82 2011-02-08
  • 打赏
  • 举报
回复
office 中有 Microsoft Access Barcode Control
文件名叫 MSbcode9.ocx 什么的 可以用
k19910401 2011-02-06
  • 打赏
  • 举报
回复
果然厉害!确实不错。。。
cnuser1 2010-10-14
  • 打赏
  • 举报
回复
这个帖子这么久了,还没有结果吗?楼主这种学习态度不行。
duoyiwen 2010-10-09
  • 打赏
  • 举报
回复
很强大的哦,学习中
CHRL 2010-09-24
  • 打赏
  • 举报
回复
其實就跟一般的打印機就一個樣,我就是用一個報表控件再加一個 微軟的barcode 控件,就可以打呀
philco 2010-09-23
  • 打赏
  • 举报
回复
建议调用条码字体比较简单!
geniusflly 2010-09-03
  • 打赏
  • 举报
回复
我这是用的2个办法
1.如果条码打印机有串口通信,则直接编写串口通信程序,指令控制条码打印机。
2.特别复杂的条码,就要使用第三方软件,感觉最好的就是 有个名叫 海鸥 的软件。
搜一下,这个有试用版,主流的条码打印机都支持了。方便的很。
游子 2010-09-02
  • 打赏
  • 举报
回复
斑马是美国的。。。不是德国的。。
seeQe 2010-09-01
  • 打赏
  • 举报
回复
很强大的哦,学习中
macrottian 2010-08-25
  • 打赏
  • 举报
回复
codesoft
安装后,在安装目录下有Sample
里面有VB的示例,很详细、很简单
cqq_chen 2010-08-19
  • 打赏
  • 举报
回复
方向错了!
其实条码打印机都支持数据库联接,这个懂了,其它就很简单了...
cnuser1 2010-08-12
  • 打赏
  • 举报
回复
不要着急,现在很多工厂使用的德国斑马、台湾TSC等条形码打印机,原厂也有提供了很成熟的条形码编辑软件,不过他们也提供了相应的DLL开发文件(好处是,很多参数都可以自己设置,效果非常不错)。
以TSC TTP 244M PLUS 打印机为例:
Option Explicit
Public Declare Sub openport Lib "c:\windows\system\tsclib.dll" (ByVal PrinterName As String)
Public Declare Sub closeport Lib "c:\windows\system\tsclib.dll" ()
Public Declare Sub sendcommand Lib "c:\windows\system\tsclib.dll" (ByVal command As String)
Public Declare Sub setup Lib "c:\windows\system\tsclib.dll" (ByVal LabelWidth As String, ByVal LabelHeight As String, ByVal Speed As String, ByVal Density As String, ByVal Sensor As String, ByVal Vertical As String, ByVal OffSet As String)
Public Declare Sub downloadpcx Lib "c:\windows\system\tsclib.dll" (ByVal Filename As String, ByVal ImageName As String)
Public Declare Sub barcode Lib "c:\windows\system\tsclib.dll" (ByVal X As String, ByVal Y As String, ByVal CodeType As String, ByVal Height As String, ByVal Readable As String, ByVal rotation As String, ByVal Narrow As String, ByVal Wide As String, ByVal Code As String)
Public Declare Sub printerfont Lib "c:\windows\system\tsclib.dll" (ByVal X As String, ByVal Y As String, ByVal FontName As String, ByVal rotation As String, ByVal Xmul As String, ByVal Ymul As String, ByVal Content As String)
Public Declare Sub clearbuffer Lib "c:\windows\system\tsclib.dll" ()
Public Declare Sub printlabel Lib "c:\windows\system\tsclib.dll" (ByVal NumberOfSet As String, ByVal NumberOfCopy As String)
Public Declare Sub formfeed Lib "c:\windows\system\tsclib.dll" ()
Public Declare Sub nobackfeed Lib "c:\windows\system\tsclib.dll" ()
Public Declare Sub windowsfont Lib "c:\windows\system\tsclib.dll" (ByVal X As Integer, ByVal Y As Integer, ByVal fontheight As Integer, ByVal rotation As Integer, ByVal fontstyle As Integer, ByVal fontunderline As Integer, ByVal FaceName As String, ByVal TextContent As String)

’申明后,就可以直接调用原厂提供的DLL封装好的方法

Private Sub PrintLable3()
'首选之打印模式

On Error GoTo eNext:

If Len(Trim(CopiesTxt.Text)) >= 1 And Len(Trim(gl_PRINT_LB_SET)) >= 1 Then

'Call clearbuffer

Call openport(gl_OPENPORT)
'Call setup(gl_SETUP_LB_WIDTH, gl_SETUP_LB_HEIGHT, gl_SETUP_LB_SPEED, gl_SETUP_LB_DEPTH, gl_SETUP_LB_SENSOR_TYPE, gl_SETUP_LB_GAP, gl_SETUP_LB_GAP2)
' MsgBox gl_SETUP_LB_SENSOR_TYPE
' Exit Sub
Call setup(gl_SETUP_LB_WIDTH, gl_SETUP_LB_HEIGHT, gl_SETUP_LB_SPEED, gl_SETUP_LB_DEPTH, gl_SETUP_LB_SENSOR_TYPE, gl_SETUP_LB_GAP, gl_SETUP_LB_GAP2)
Call clearbuffer
Call barcode(gl_BC_X_COORDINATE, gl_BC_Y_COORDINATE, gl_BC_TYPE, gl_BC_HEIGHT, gl_BC_IS_BARCODE_TEXT, gl_BC_DEGREE, gl_BC_SCALING_FACTOR, gl_BC_SCALING_FACTOR2, Trim(sNumbertext.Text))
'Call barcode("90", "20", "39", "45", "0", "0", "2", "4", Trim(sNumbertext.Text))
'Call printerfont("30", "90", "1", "0", "1", "1", "123456789")

Call windowsfont(CInt(gl_WIN_FONT_S_X_COORDINATE), CInt(gl_WIN_FONT_S_Y_COORDINATE), CInt(gl_WIN_FONT_S_HEIGHT), CInt(gl_WIN_FONT_S_DEGREE), CInt(gl_WIN_FONT_S_STYLE), CInt(gl_WIN_FONT_S_BASE_LINE), gl_WIN_FONT_S_TYPE, Trim(frmPrintLabelsMain.fgLotno.Text))
'Call windowsfont(90, 65, 25, 0, 0, 0, "Arial", Trim(frmMain.fgLotno.Text))

Call windowsfont(CInt(gl_WIN_FONT_LOT_X_COORDINATE), CInt(gl_WIN_FONT_LOT_Y_COORDINATE), CInt(gl_WIN_FONT_LOT_HEIGHT), CInt(gl_WIN_FONT_LOT_DEGREE), CInt(gl_WIN_FONT_LOT_STYLE), CInt(gl_WIN_FONT_LOT_BASE_LINE), gl_WIN_FONT_LOT_TYPE, Trim(sNumbertext.Text))
'Call windowsfont(270, 65, 25, 0, 0, 0, "Arial", Trim(sNumbertext.Text))

'Call printerfont("50", "180", "2", "0", "1", "1", Trim(frmMain.fgLotno.Text))
Call printlabel(txt_PRINT_LB_SET, Trim(CopiesTxt))
'Call printlabel("1", "1")
'Call about
Call closeport

Else
MsgBox ("Invalid number of copies and Sets, please Re-Enter"), vbCritical, "EnterpriseIQ System"
CopiesTxt.SetFocus
Exit Sub
End If
Exit Sub
eNext:
MsgBox Err.Description, vbCritical, Err.Number
End Sub


游子 2010-08-11
  • 打赏
  • 举报
回复
如果你没有写过。。建议用条码字体。。。
hunterzhou0 2010-08-11
  • 打赏
  • 举报
回复
guanKing 请问如何调用Label Matrix人打印命令!急需啊,谢谢!
hunterzhou0 2010-08-11
  • 打赏
  • 举报
回复
Label Matrix 软件可以用VC程序发个指令驱动打印动作,但不知哪里有相关的接口函数!各位同仁如有能否给一份,急需!!!!!!!
finaltest 2010-05-12
  • 打赏
  • 举报
回复
现成的条码打印软件很多,功能也很强大,下一个呗。。。
Tiger_Zhao 2010-05-12
  • 打赏
  • 举报
回复
a)用条码控件
b)用条码字体
c)专用的条码打印机
贝隆 2010-05-12
  • 打赏
  • 举报
回复
UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP
zjhiphop2006 2010-05-12
  • 打赏
  • 举报
回复
条码打印机可以通过指令控制的,比如说Zebra的打印机,可以设置条码的字体、大小、样式、内容,然后在开始和末尾加上控制字符,把这整个构造成一个字符串,扔给打印机接口(一般是并口),就会驱动打印机进行打印!
jhone99 2010-05-12
  • 打赏
  • 举报
回复
可以用条码控件,也可以用代码来做
有一维条码,还有二维条码
加载更多回复(1)

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧