分享

[原创]PB打印标签DLL文件

 行走在理想边缘 2014-07-27
很多人在找这个DLL,我上传一个
调用很简单
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    无效的行、列数

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多