小弟头一次接触条码打印,用的是立象OS-214TT条码打印机,按照操作手册正确安装完驱动程序之后,再安装自带的打印软件Argobar Pro。用Argobar Pro可以正常打印出中文,2D条码(PDF417),特别注明:2D条码内容包含有中文、英文和数字。
但是由于项目需要,不能使用打印软件Argobar Pro,而必须在立象提供的dll上进行二次开发,这里我使用的版本是command library 3.05。用的是PPLA(打印机缺省),下载的command library解压后,在PPLA文件夹下面有example,使用下,都可以正常打印。
这里有一点需要注意,不知是不是我驱动程序安装的有问题,我必须先把command library下Library目录下所有的dll文件全部copy到C:/windows/system32下,程序才能正常运行。
于是我在example的基础上进行修改,在Doc目录下有API的说明。根据说明,我直接调用A_Prn_Text_TrueType函数,传入参数里"FType"还是原来的"Times New Roman",此时我传入一串字符串,包含有中文、英文和数字,条码打印机正确打印出来。
问题1. 这里我有个很大的疑问,API函数里提供了专门一个打印汉字的方法:A_Prn_Text_Chinese,根据说明,调用之前需要先调用另一个方法:A_Open_ChieseFont。但我实在是不知道如何打开一个中文字库。直接指定字库路径,通过厂家提供的Font Utility软件转换字库等等,都试过,但还是打开文件错误。
问题2. 条码打印,当然主要的是打印条码,项目需要打印2D条码,选定是PDF417。调用A_Bar2d_PDF417函数,当传入数据位英文字母和数字的时候,打印正常;但是只要打印内容包含有汉字,再调用A_Bar2d_PDF417方法,此时条码无法打印出来。打电话咨询过立象的技术支持,他给的回复是:由于Argobar Pro打印软件是先将条码输出成图像再打印出来,而不是直接调用dll中的函数;但若要调用A_Bar2d_PDF417函数,打印机必须先安装一个“中文打印卡”,此卡需要另行购买,安装完后才能打印出内容含有汉字的条码来。
希望有此方面开发经验的兄弟姐妹多多指教,小弟在此感激不尽!