luckass 发表于 2008-9-1 17:51

PB打印标签DLL,支持128码

怎么传附件啊
很多人在找这个DLL,我上传一个[size=1][/size]
调用很简单
re = MakeBarcodeBmpFile(".\12345.bmp", 1, 3, string, 1, 2, 60, 0, 4, err)
dw_1.object.p_2.filename = ".\12345.bmp"
string 是需要生成标签的数据内容。生成出一张图片,然后把图片放到数据窗口中即可。
注意,数据窗口的图片不能修改大小,让它自动大小,否则标签不正确。
可以设置标签字符类型,可以调整标签大小比例。
BCEncode.dll  3.00 版

可生成条形码的WINDOWS标准BITMAP句柄或BMP文件,具体用法请参考相应的示例文件!

===========================================================================================
这是一个条码生成函数库,可生成如下13种一维条码以及PDF417二维条码。

        CODE39                标准三九码
        EAN13                EAN 13码
        CODE128                CODE 128码
        CODE25                CODE 25码
        ITF25                ITF 25码
        UPCA                UPC A 码
        EAN8                EAN 8码
        UPCE                UPC E码
        MATRIX25            Matrix 25码
        EAN128              EAN 128码
        CODEBAR             CodeBar码
        CODE93                Code 93码,可表示全部128个ASCII字符
        FULLASCII39         全 ASCII 39码,可表示全部127个ASCII字符

函数库提供如下几个函数:
        MakeBarCode                        生成一维条码的函数
        MakeBarcodeBmpFile                生成一维条码BMP文件的函数
        MakePDF417                        生成PDF417条码的函数

具体用法请参考例子。
例子包括VB6和VC6的应用示例,包含了显示和打印条码的方法。

VB6示例:
TESTVB.VBP

VC6示例:
TEST.DSW

注意:函数为32位版本,包括了一个标准的DLL文件和可在VC6中使用的静态连接库;
      函数中显示字体使用了OCR-B-10 BT字体,在INCLUDE目录中有该字体文件,安装即可。

如果您在使用过程中有问题,请与我们联系:
地址:北京市海淀区中关村大街22号中科大厦A座707室、100080
电话:010-62543819、13910899265
传真:010-62628199

============================================================================================
函数调用接口:
        接口用C语言进行描述,在VB或其它系统中使用,请对函数参数类型进行相应转换!

--------------------------------------------------------------------------------------------
        一维条码生成函数
        MakeBarCode
        本函数可根据相应的参数生成条码位图

        原型:
        BCENCODE_API HBITMAP WINAPI MakeBarCode(int nBType,
                                                LPSTR lpszText,
                                                int nNarrow =2 ,
                                                int nWide = 5 ,
                                                int nHeight = 100,
                                                int nRotate = ROTATE_0,
                                                int nReadable = READABLE_NULL,
                                                DWORD * err = NULL);

        参数:
                nBType:条码码制,可是下列值这一:
                        CODE39                标准三九码
                        EAN13                EAN 13码
                        CODE128                CODE 128码
                        CODE25                CODE 25码
                        ITF25                ITF 25码
                        UPCA                UPC A 码
                        EAN8                EAN 8码
                        UPCE                UPC E码
                        MATRIX25            Matrix 25码
                        EAN128              EAN 128码
                        CODEBAR             CodeBar码
                        CODE93                Code 93码,可表示全部128个ASCII字符
                        FULLASCII39         全 ASCII 39码,,可表示全部127个ASCII字符

                lpszText:条码字符串
                          一些码制会对该字符串进行修改:
                          标准39码和STANDARD93码,所有小写字符会被转换成大写。
                          EAN13、EAN8、UPCA、UPCE最后一位将被正确的校验字符代替,且UPCE第一位被设为“0”。

                nNarrow:窄单元宽度,必须大于1。

                nWide:宽单元宽度,对于标准三九码、CODE 25码、ITF 25码、Matrix 25码、CodeBar码,
                          nWide必须是nNarrow的2至3位,其它码制,此参数未用。

                nHeight:条码高度,必须大于1。

                nRotate:旋转角度,可是下列值之一:
                        ROTATE_0                不旋转
                        ROTATE_90                逆时针旋转90度
                        ROTATE_180                逆时针旋转180度
                        ROTATE_270                逆时针旋转270度

                nReadable:可读性文字,可取下列值之一:
                        READABLE_NULL                没有可读性文字
                        READABLE_LEFT                居左
                        READABLE_RIGHT                居右
                        READABLE_CENTER                居中
                        READABLE_FULL                撑满
                        READABLE_ABOVE                可读性文字在条码上方
                          对于EAN13、UPCA、EAN8和UPCE条码,此参数不可控制文字对齐方式及文字位置;
                          默认文字在条码下方,可以加上READABLE_ABOVE将文字设定在条码上方;
                          文字默认字体为OCR-B-10 BT,目前还不能改变字体名称和大小;
                          如条码高度太低,不足以放置可读性文字,则自动不产生可读性文字。

                err:指向DWORD的指针,用于设置错误提示,返回错误信息。
                         如为NULL,则不显示错误提示,并且不返回错误码
                         否则指向的值可取下列值之一:
                                DISABLE_DISPLAY_MESSAGE                        不显示错误提示信息
                                ENABLE_DISPLAY_ERROR_MESSAGE                只显示错误信息
                                ENABLE_DISPLAY_WARNING_MESSAGE                只显示警告信息
                                ENABLE_DISPLAY_ALL_MESSAGE                显示错误和警告信息
                         返回值如下:
                                ERR_SUCCESS                正常完成
                                ERR_INVALID_BTYPE        无效的码制
                                ERR_INVALID_NARROW        无效的nNarrow值
                                ERR_INVALID_HEIGHT        无效的码高
                                ERR_INVALID_CHAR        含有无效的字符
                                ERR_INVALID_WIDE        无效的nWide值
                                ERR_INVALID_LEN                无效的码长,如果是EAN13码,则码长必须是13位,UPCA为12位,
                                                        UPCE和EAN8为8位,其它条码不能零长度,也不能超过最大允许长度。
                                ERR_INVALID_ROTATE        无效的旋转角度
                                ERR_MEMORY                内存不足
                                ERR_UNKNOWN                其它未知错误

        返回值:
                函数调用成功,返回生成位图的句柄,失败返回NULL,可通过设置err参数,取得错误码。

        其它:函数中使用了OCR-B-10 BT字体,系统中安装该字体可保证条码字体显示正确。

--------------------------------------------------------------------------------------------
        一维条码图像生成函数
        MakeBarcodeBmpFile
        本函数可根据相应的参数生成条码位图文件

        原型:
        BCENCODE_API DWORD WINAPI MakeBarcodeBmpFile(LPCTSTR lpszFileName,
                                                     DWORD lDpi,
                                                        int nBType,  
                                                     LPSTR lpszText,
                                                     int nNarrow,
                                                     int nWide,
                                                     int nHeight,
                                                     int nRotate,
                                                     int nReadable,
                                                     DWORD * err)

        参数:
                lpszFileName:位图文件名

                lDpi:位图的精度,点每英寸

                其它参数与MakeBarCode相同

        返回值:
                调用成功,函数返回所生成文件的长度,失败返回0。

--------------------------------------------------------------------------------------------
        PDF417条码生成函数
        MakePDF417
        本函数可根据相应的参数生成条码位图

        原型:
        BCENCODE_API HBITMAP WINAPI MakePDF417(LPVOID lpData ,
                                               DWORD dwBytes ,
                                               unsigned int nRows,
                                               unsigned int nCols,
                                               unsigned int nEccLevel,
                                               unsigned int nRotate,
                                               unsigned int xScale,
                                               unsigned int yScale,
                                               DWORD * err )

        参数:
        lpData:指向要生成PDF417条码的数据;

        dwBytes:lpData所指向的数据区的长度;

        nRows、nCols:PDF417符号的行数和列数,如设为0,则自动计算行、列数;
       
        nEccLevel:PDF417符号的错误校正级别;

        nRotate:符号旋转角度,同MakeBarCode;

        xScale、yScale:PDF417符号X、Y方向的放大倍数;

        err:错误代码,同MakeBarCode;
                下列错误代码为PDF417专用:
                        ERR_INVALID_ECCLEVEL        无效的错误校正级别
                        ERR_INVALID_ROWCOL        无效的行、列数


页: [1]

编程论坛