欢迎来到天天文库
浏览记录
ID:5941277
大小:29.50 KB
页数:7页
时间:2017-12-29
《基于oracle ebs zebra打印机条码打印系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于OracleEBSZebra打印机条码打印系统 摘要:为了实现与OracleEBS系统对接通过Zebra条码打印机快速完成零部件生产制造过程中的条码打印,系统通过读取OracleEBS系统数据库获得打印信息,同时通过调用Windows内部函数生成Zebra打印机可以识别的条码打印信息,通过并口传递给Zebra打印机。系统实现了汉字、英文、数字、条码和方框等对象的处理和打印。关键词:条码打印;ZPL指令集;OracleEBS;动态链接库;C#中图分类号:TP311文献标识码:A文章编号:1009-3044(2013)29-6489-0
2、3OracleEBS系统被越来越多的企业实施应用,但是通过OracleEBS打印条码却一直是该系统的一个弱点,为方便快捷的完成条码的打印,我们通过MicrosoftVisualStudio2010开发了应用于windows操作系统的条码打印程序。该系统通过集成条码模并通过设定条件自动读取数据库信息,自动生成打印驱动程序,取代Zebra打印机自带打印程序,并且实现一键打印,适应车间操作人员标准化要求。同时该系统建立起OracleEBS与斑马打印机的数据传输桥梁,实现两者之间的无缝衔接。71系统设计该系统的主要关键在于条码打印模块。该模块首先
3、从OracleEBS数据库读取打印条码所需的数据信息,然后通过程序生成ZPL代码,代码中不仅包含转换的数据库中的数据信息,同时含有控制条码尺寸位置等信息。ZPL代码生成后将该指令传递给连接打印机的并口,由Zebra接收指令并打印出条码标签。图1系统设计通过MicrosoftVisualStudio2010进行开发,使用C#作为开发语言。首先通过VS2010链接到OracleEBS系统数据库,读取需要打印的零件信息存储在DataSet中,然后通过循环读取DataSet中的数据行信息并存放在多个变量中,通过调用打印子程序完成打印。并和连接打印
4、机的串口建立数据通讯。2主要实现技术2.1并口通讯的实现Zebra打印机通过并口实现与计算机通讯,所以程序首先需要打开并口与Zebra建立通讯。C#只提供了直接操作串口的类,如果直接操作并口的话需要调用API函数:publicclassLPTControls{……[DllImport(”kernel32.dll”)]7privatestaticexternintCreateFile(stringlpFileName,uintdwDesiredAccess,intdwShareMode,intlpSecurityAttributes,int
5、dwCreationDisposition,intdwFlagsAndAttributes,inthTemplateFile);[DllImport(”kernel32.dll”)]privatestaticexternboolWriteFile(inthFile,byte[]lpBuffer,intnNumberOfBytesToWriter,outintlpNumberOfBytesWriten,outOVERLAPPEDlpOverLapped);[DllImport(”kernel32.dll”)]privatestaticext
6、ernboolCloseHandle(inthObject)privateintiHandle;//打开LPT端口publicboolOpen(){iHandle=CreateFile(”lpt1”,0x40000000,0,0,3,0,0);if(iHandle!=-1){returntrue;}7tevoidPrintBarcode(stringLs_long1,stringLs_description1,stringLs_kb1,stringLs_gc1,stringLs_gd1,stringLs_cz1,stringls_code
7、1,inti){LPTControls.LPTControlslpt=newLPTControls.LPTControls();stringmycommanglines;mycommanglines=““;if(i==0){mycommanglines=System.IO.File.ReadAllText(”print_head.txt”);//print.txt}else{mycommanglines=System.IO.File.ReadAllText(”print.txt”);//print.txt}stringsBarCodeCM
8、D=““;//StringBuilderLs_long=newStringBuilder(2048);7StringBuilderLs_description=newStringBuilder
此文档下载收益归作者所有