首页 | 新闻中心| 公司介绍| 产品走廊| 渠道与销售| 技术支持| 下载中心| 用户认证
蓝色快车PB俱乐部论坛--PowerBuilder MIS编程浏览:已实现了Code128条码打印,求二维条码打印的方法
>>欢迎您,请先登陆 | 注册 | 发贴排行 | 搜索 | 帮助 | 退出
    蓝色快车PB俱乐部论坛
    PowerBuilder MIS编程
       浏览:已实现了Code128条码打印,求二维条码打印的方法

  发表一个新主题  发表一个新投票 回复主题  您是本帖的第 1565 个阅读者
 * 贴子主题: 已实现了Code128条码打印,求二维条码打印的方法 保存该页为文件 报告本帖给版主 显示可打印的版本  把本贴加入论坛收藏夹  把本贴加入IE收藏夹 

 掉线,给我留言吧!  water·H
  
  
  等级:新手上路
 财产:200
 经验:170
 魅力:170
  注册:2006-3-3
  文章:4
  鉴定:保密

  给water·H发送一个短消息 查看water·H的个人资料 搜索water·H在PowerBuilder  点击这里发送电邮给water·H 引用回复这个贴子 

发贴心情 已实现了Code128条码打印,求二维条码打印的方法
大家对一维条码打印不明白的可以Msn问我,请高手赐教二维(PDF417)条码的函数调用方法(PB中),谢谢!
            msn:mysuperweb@hotmail.com

BCEncode.dll  3.00 版(附件为3.0demo版)

可生成条形码的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 无效的行、列数

--------------------------------------------------------------------------------------------
点击下载该文件


[此贴子已经被作者于2008-2-21 22:46:05编辑过][/align]

[align=right][此贴子已经被作者于2008-2-21 22:49:22编辑过][/align]

[align=right][此贴子已经被作者于2008-2-21 22:49:58编辑过]

----------------------------------------------
Good

发贴时间: 2008/2/21 22:49:58 保密


 掉线,给我留言吧!  water·H
  
  
  等级:新手上路
 财产:200
 经验:170
 魅力:170
  注册:2006-3-3
  文章:4
  鉴定:保密

  给water·H发送一个短消息 查看water·H的个人资料 搜索water·H在PowerBuilder  点击这里发送电邮给water·H 引用回复这个贴子 

发贴心情 
/*=============================================================================================
生成PDF417条码位图
参数:
LPVOID lpData 要生成PDF417条码的数据
DWORD dwBytes 数据的长度
unsigned int nRows 417条码的行数,3——90
unsigned int nCols 417条码的列数,1——30
unsigned int nEccLevel 纠错级别,0——8
unsigned int nRotate 条码旋转角度,0、90、180、270
unsigned int xScale 条码字符X方向放大倍数
unsigned int yScale 条码字符Y方向放大倍数
返回值:
如果保存成功,返回条码位图HANDLE,如果失败,返回NULL
=============================================================================================*/
//BCENCODE_API HBITMAP WINAPI MakePDF417(LPVOID lpData ,
BCENCODE_API HBITMAP WINAPI MakePDF417(LPCTSTR lpData ,
   DWORD dwBytes ,
   unsigned int nRows,
   unsigned int nCols,
   unsigned int nEccLevel,
   unsigned int nRotate,
   unsigned int xScale,
   unsigned int yScale,
   DWORD * err = NULL);

BCENCODE_API HBITMAP WINAPI MakePDF417Ex(LPCTSTR lpData ,
   DWORD dwBytes ,
   unsigned int nRows,
   unsigned int nCols,
   unsigned int nEccLevel,
   unsigned int nRotate,
   unsigned int xScale,
   unsigned int yScale,
   int nExpand_X,
   int nExpand_Y,
   DWORD * err = NULL);

BCENCODE_API DWORD WINAPI MakePDF417BitmapFile(LPCTSTR lpszFileName,
   DWORD lDpi,
   LPCTSTR lpData ,
   DWORD dwBytes ,
   unsigned int nRows,
   unsigned int nCols,
   unsigned int nEccLevel,
   unsigned int nRotate,
   unsigned int xScale,
   unsigned int yScale,
   DWORD * err = NULL);

BCENCODE_API DWORD WINAPI PDF417Bmp(LPCTSTR lpszFileName,
LPCTSTR lpszData,    
    DWORD lDpi,
    unsigned int nRows,
    unsigned int nCols,
    unsigned int xScale,
    unsigned int yScale,
int nEccLevel);

BCENCODE_API int WINAPI GetPrinterDPI(LPCTSTR lpszPrinterName,BOOL bGetX = TRUE);
BCENCODE_API int WINAPI GetPrinterXResolution(LPCTSTR lpszPrinterName);

BCENCODE_API void WINAPI AboutBCEncode();

BCENCODE_API char* WINAPI GetCode128CodeWords(const char * p);


BCENCODE_API int WINAPI MakeBarCodeVectors(int nBType,
LPCTSTR lpszText,
int nNarrow ,
int nWide ,
int nHeight,
LPCTSTR lpszPathName,
BOOL bNegative,
DWORD * err = NULL);
截图:需要帮助请联系 QQ;38091476


此主题相关图片如下:
按此在新窗口浏览图片

[此贴子已经被作者于2008-2-21 22:43:26编辑过]

----------------------------------------------
Good

发贴时间: 2008/2/21 22:43:26 保密


 掉线,给我留言吧!  whd821118
  
  
  等级:新手上路
 财产:250
 经验:200
 魅力:200
  注册:2006-3-16
  文章:5
  鉴定:保密

  给whd821118发送一个短消息 查看whd821118的个人资料 搜索whd821118在PowerBuilder  点击这里发送电邮给whd821118 引用回复这个贴子 

发贴心情 
能不能给 个效果图

发贴时间: 2006/3/24 8:21:05 保密


 掉线,给我留言吧!  water·H
  
  
  等级:新手上路
 财产:200
 经验:170
 魅力:170
  注册:2006-3-3
  文章:4
  鉴定:保密

  给water·H发送一个短消息 查看water·H的个人资料 搜索water·H在PowerBuilder  点击这里发送电邮给water·H 引用回复这个贴子 

发贴心情 
有PB8的demo,有兴趣的联系我,QQ:38091476

----------------------------------------------
Good

发贴时间: 2008/2/21 22:45:10 保密


 掉线,给我留言吧!  sdxiao
  
  
  等级:新手上路
 财产:190
 经验:50
 魅力:80
  注册:2003-5-8
  文章:1
  鉴定:保密

  给sdxiao发送一个短消息 查看sdxiao的个人资料 搜索sdxiao在PowerBuilder  点击这里发送电邮给sdxiao 引用回复这个贴子 

发贴心情 

发贴时间: 2008/3/17 12:31:22 保密

页次:1/1页每页10 本主题贴数5

分页: [1]

 *快速回复:已实现了Code128条码打印,求二维条码打印的方法 顶端 
你的用户名:   还没注册? 密码:   忘记密码?请与管理员联系
内容
  • HTML标签: 不可用
  • UBB标签: 允许
  • 贴图标签: 允许
  • Flash标签:允许
  • 表情字符转换:允许
  • 上传图片:允许
  • 最多16KB
  • 邮件回复 显示签名  [Ctrl+Enter直接提交贴子]

    ">