VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1174|回复: 4

[交流] 求助:vc++控制ZEBRA打印机

[复制链接]
91_avatar_middle
最佳答案
0 
在线会员 发表于 2017-4-27 14:26:04 | 显示全部楼层 |阅读模式
想要编写一个MFC的打印程序,可以控制斑马(ZEBRA)打印机,但是不清楚用哪些指令驱动打印机,比如如何打开打印机?如何设置波特率等?
之前用过TSC的,有个TSCLIB的库可以直接调用指令,不知道斑马的有没有类似的?




上一篇:UDP 关闭方案
下一篇:什么错误?
81_avatar_middle
最佳答案
3 
online_supermod 发表于 2017-4-27 14:56:02 | 显示全部楼层
默认情况下,微软有一套封装好的操作打印机的接口,但都是针对描画DC方面的。
如果楼主要直接设置模特率,直接操作串口这种的,那么就应该使用串口操作的API来进行设置了
56_avatar_middle
最佳答案
0 
在线会员 发表于 2017-5-4 15:45:02 | 显示全部楼层

给你一段代码参考,winspool.h中有微软自带关于打印机的代码

        if(OpenPrinter("Generic / Text Only",&hPrinter,NULL)) //Open打印机并赋给一个句柄(已经保存在hPrinter)   
        {   
                DOC_INFO_1 Info;//文档信息   
                memset(&Info,0,sizeof(Info));   
                Info.pDocName="Zebra Print";     
                //文档名(which is shown in the PrintManager)   
                Info.pOutputFile=NULL;     
                //不须要向一个文件写,设为NULL   
                Info.pDatatype="RAW";   
                //数据以RAW格式发送(Win9x和WinNT都支持RAW和EMF格式,WinNT还支持TEXT格式   
                if(!StartDocPrinter(hPrinter,1, (LPBYTE)&Info))//文档开始  
                {
                        sOutput="开始文档出错!";
                        return FALSE;   
                }
                //告诉打印机开始新页   
                StartPagePrinter(hPrinter);   
                //向打印机写数据   
                if(!WritePrinter(hPrinter,(LPSTR)(LPCSTR)sText,iLen,&dwWritten))
                {
                        sOutput="写入打印机出错!";
                        return FALSE;       
                }

                EndPagePrinter(hPrinter);//告诉打印机已经完成当前页

                if(!EndDocPrinter(hPrinter))//文档结束   
                {
                        sOutput="打印出错!";
                        return FALSE;   
                }

                ClosePrinter(hPrinter);//关闭打印机   
                return TRUE;
        }   
        else   
        {   
                sOutput="打开Generic / Text Only出错!";
                return FALSE;   
        }  
56_avatar_middle
最佳答案
0 
在线会员 发表于 2017-5-4 15:45:48 | 显示全部楼层
变量定义忘记了
        HANDLE hPrinter;//打印机句柄   
        int iLen=sText.GetLength();//发送数据的长度   
        DWORD dwWritten;//   已经向打印机写了多少   
21_avatar_middle
最佳答案
0 
在线会员 发表于 2018-5-10 21:13:12 | 显示全部楼层
你好,能请教一下吗,获取打印机作业信息,获得的与实际的不匹配,为什么呢?
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-12-11 07:51

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表