免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3247 | 回复: 8
打印 上一主题 下一主题

GTK开发条码打印 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-01 08:36 |只看该作者 |倒序浏览
使用的是zebra的条码打印机,怎么将指令发送到打印机,没头绪,请高手们指点一下!谢谢
我是初学者

论坛徽章:
1
天蝎座
日期:2013-12-06 18:23:58
2 [报告]
发表于 2011-12-01 09:18 |只看该作者
这个问题太笼统了吧。。。

论坛徽章:
0
3 [报告]
发表于 2011-12-01 09:35 |只看该作者
哦,是的!实在是没头绪呀!

这样,最简单的zebra文档里的一个打印条码的指令组:

^XA
^LH30,30
^FO20,10^AD^FDZEBRA^FS
^F020,60^B3^FDAAA001^FS
^XZ

我现在要把这些指令发送到我的条码打印机,打印机是usb接口的,
在C程序里,我应该怎么做?

谢谢回复

论坛徽章:
1
天蝎座
日期:2013-12-06 18:23:58
4 [报告]
发表于 2011-12-01 09:46 |只看该作者
回复 3# zhangxdd


    看看zebra文档怎么和C交互吧~ 没用过。。

论坛徽章:
0
5 [报告]
发表于 2011-12-01 10:54 |只看该作者
zebra文档里只是说把这些指令保存为一个文件,然后发到打印机(原文:Save this file on your computer’s harddrive, name it “EXER1.ZPL.”
Copy the file to the printer)

    为了验证这个,我在终端窗口直接用命令把文件发送到打印机:
         lp -d zebra_888-tt EXER1.zpl
    打印机动作了,但只是打出文件的指令内容,并不是实际条码


所以,我想试试在程序里把指令一条条的发送给打印机,网上好难找到有关linux下打印的。

在接上该打印机后,/dev目录下多了一个usb目录,一个usblp0的链接,链接是指向usb目录里的lp0文件名
然后我用下面的代码:
int fd = open("lp0",'a');
char s[200]="^XA^LH30,30^FO20,10^AD^FDZEBRA^FS^F020,60^B3^FDAAA001^FS^XZ";
write(fd,s,sizeof(s));
close(fd);
在第一行代码这里返回-1,失败。
使用"usblp0"代替"lp0"也一样

论坛徽章:
0
6 [报告]
发表于 2011-12-01 11:43 |只看该作者
发现:
int fd = open("lp0",'a');
只是在调试目录里建立了一个叫lp0的文件,

怎么样才能打开一个打印机描述符呢?

论坛徽章:
0
7
发表于 2014-07-09 17:12
不错的条码生成知识,好帖

论坛徽章:
0
8
发表于 2014-07-15 15:20
不错的条码识别知识,学习一下

论坛徽章:
0
9 [报告]
发表于 2014-08-01 20:14 |只看该作者
用串口编程吧,直接往串口发指令就可以操控打印机了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP