Foxtable(狐表)用户栏目专家坐堂 → 如何生成条码,在WORD中打印?


  共有5650人关注过本帖树形打印复制链接

主题:如何生成条码,在WORD中打印?

帅哥哟,离线,有人找我吗?
lgz518
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
如何生成条码,在WORD中打印?  发帖心情 Post By:2022/9/3 8:27:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:条码问题.zip


假定表A有一个名为"条码"的列,希望批量打印出所有条码,代码为:

Dim doc As New PrintDoc
Dim
 img As prt.RenderImage
Dim
 Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.Code39
Bar.BarRatio = 
0.3
Bar.BarHeight = 
8
Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight

For
 Each r As Row In Tables("表A").Rows
    bar.Code = r(
"条码")
    img = new prt.RenderImage
    img.Image = bar.GetImage
    Doc.Body.Children.Add(img)

Next

Doc.Preview()


用上面代码,实现不了,请老师帮助处理,谢谢


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109480 积分:557062 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/3 9:43:00 [只看该作者]

Dim doc As New PrintDoc
Dim img As prt.RenderImage
Dim Bar As BarCodeBuilder

For Each r As Row In Tables("表A").Rows
    Bar = New BarCodeBuilder
    Bar.Symbology = Barpro.Symbology.Code39
    Bar.BarRatio = 0.3
    Bar.BarHeight = 8
    Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
    bar.Code = r("条码")
    img = New prt.RenderImage
    img.Image = bar.GetImage
    Doc.Body.Children.Add(img)
Next
Doc.Preview()

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/9/3 9:57:00 [只看该作者]

老师,报错:The value to encode is null or empty.

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109480 积分:557062 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/3 10:11:00 [只看该作者]

"条码"列没有数据

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/9/3 13:26:00 [只看该作者]

老师,需求是让1楼的实例,实现表A,条码是根据条码编号生成的条码,并在WORD模板打印。如下图

图片点击可在新窗口打开查看此主题相关图片如下:条码问题.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/9/3 13:31:00 [只看该作者]

然后用下面的代码生成报表,在生成每个员工的资料卡之前,都先根据这个员工的资料合成一个二维码,并保存为约定的图片文件:

Dim tm As String  = ProjectPath & "Attachments\员工资料卡.doc" '指定模板文件
Dim 
fl As String = ProjectPath & "Reports\员工资料卡.doc" '指定目标文件
Dim 
mg As String = ProjectPath & "Images\二维码.wmf" '约定的图片文件
Dim 
wrt As New WordReport(Tables("员工"),tm,fl'定义一个WordReport
For Each 
r As Row In Tables("员工").Rows '逐行生成报表
    Dim 
Bar As New BarCodeBuilder
    
Bar.Symbology = Barpro.Symbology.QRCode
    Bar.QRCodeModuleSize = 
2 '二维码的放大倍数
    
Bar.Code = "姓名:" & r("姓名"& vbcrlf & "部门:" & r("部门"& vbcrlf & "电话:" & r("办公电话")
    
bar.SaveImage(mg,300)
    
wrt.BuildOne(r)
Next

wrt
.Show() '显示报表



帮助的实例,试一下,没搞出来


 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/9/3 13:39:00 [只看该作者]

Dim tm As String = ProjectPath & "Attachments\条码打印.doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\条码打印.doc" '指定目标文件
Dim mg As String = ProjectPath & "Images\条码.wmf" '约定的图片文件
Dim wrt As New WordReport(Tables("表A"), tm, fl) '定义一个WordReport
For Each r As Row In Tables("表A").Rows '逐行生成报表
    Dim Bar As New BarCodeBuilder
    Bar.Symbology = Barpro.Symbology.QRCode
    Bar.QRCodeModuleSize = 2 '
'     Bar.Code = "姓名:" & r("姓名") & vbcrlf & "部门:" & r("部门") & vbcrlf & "电话:" & r("办公电话")
    Bar.Code = "条码编号:" & r("条码编号") & vbcrlf & "条码:" & r("条码") 
    bar.SaveImage(mg, 300)
    wrt.BuildOne(r)
Next
wrt.Show() '显示报表


执行后,如下图,表A和WORD模板都没有生成条码,

图片点击可在新窗口打开查看此主题相关图片如下:条码问题2.jpg
图片点击可在新窗口打开查看





 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109480 积分:557062 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/3 13:59:00 [只看该作者]

那这个条码列没有什么用处。2楼的代码改为从编号列取值:bar.Code = r("条码编号")

word报表没法设置动态图片,建议使用专业报表,或者execl:http://www.foxtable.com/webhelp/topics/2338.htm

 回到顶部