Foxtable(狐表)用户栏目专家坐堂 → 如何把二维码标签按顺序一个个打印出来?


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

主题:如何把二维码标签按顺序一个个打印出来?

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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
如何把二维码标签按顺序一个个打印出来?  发帖心情 Post By:2019/1/12 13:47:00 [只看该作者]

我要把一张表里的几千条记录都制作成带二维码的标签,用 PrintDoc 报表的方式,无法连接标签打印机一个个的打印吧? 要怎么才能排列号用标签打印机,一个个的打印出来?而不是挤在一张纸上排列很多个?



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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/1/12 13:49:00 [只看该作者]

用这种方式是最好的吗?
http://www.foxtable.com/webhelp/index.htm?page=1239.htm

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


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/1/12 14:47:00 [只看该作者]

就是这种方式,指定纸张大小,每页打印一个标签即可:http://www.foxtable.com/webhelp/scr/1191.htm

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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/1/14 8:20:00 [只看该作者]

问题一:
我有几千个标签要打印,为了避免中途中断后,不知道从何处开始,请问怎么记录当前打印到哪一张标签了?

问题二:

       如何设置二维码在表格的cell里面水平,垂直居中?


Dim doc As New PrintDoc '定义一个报表
doc.PageSetting.Width = 80 '纸张宽度为80毫米
doc.PageSetting.Height = 50 '纸张高度为50毫米

Doc.PageSetting.LeftMargin = 2 '设置左边距
Doc.PageSetting.RightMargin = 2 '设置右边距
Doc.PageSetting.TopMargin = 2 '设置上边距
Doc.PageSetting.BottomMargin = 2 '设置下边距
'rt.Width = "Parent.Width" '对象宽度等于页面宽度
'rt.Height = "Parent.Height" '对象高度等于页面高度
'rt.Style.Borders.All = New prt.Linedef(1, Color.Red) '设置边框
'doc.Body.Children.Add(rt) '将文本对象加入到报表


'doc.PageSetting.Landscape = True '横向打印
'doc.Preview() '预览


Dim rg As prt.RenderGraphics
Dim Bar As New BarCodeBuilder
Dim tbl As Table = Tables("资产管理表")
tbl.Filter=""
'For i As Integer = tbl.TopRow To tbl.BottomRow
For i As Integer = 0 To tbl.Rows.Count
'For Each rw As Row In Tables("资产管理表").Rows
    'Dim Filter As String 
    'Filter = "项目 = '" & dr1("项目") & "' And 日期 <= #" & dr1("日期") & "#"
    Dim rw As Row = tbl.Rows(i)
    Dim rt As New prt.RenderTable() '定义一个表格对象
    Dim rx As New prt.RenderText '定义一个文本对象
    Dim ra As New prt.RenderArea '定义一个容器
    ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never  '禁止容器因为分页而被垂直分割
    '加入标题
    rx.text = "资产标签"
    rx.Style.FontBold = True '字体加粗
    rx.Style.FontSize = 12 '大体大小为16磅
    rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
    rx.Style.Spacing.Bottom = 3 '和下面的对象(表格)距离3毫米
    ra.Children.Add(rx) '加入到容器中
    '指定行数?列数?列宽?行高
    'rt.Rows.Count = 4 '设置总行数   感觉要不要都差不多,因为下面的cells 多了这里设置的数字不起作用
    rt.Cols.Count = 3 '设置总列数
    rt.Height = 44 '设置表格的高度   太大就撑出去
    rt.Cols(0).Width = 25 '设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列)
    rt.Cols(1).Width = 48
    rt.Cols(2).Width = 30
   ' rt.Cols(3).Width = 40
    '设置合并单元格
    rt.Cells(0,1).SpanCols = 2 '第1行第2个单元格向右合并2列
    rt.Cells(1,1).SpanCols = 2 '第2行第3个单元格向右合并2列
    'rt.Cells(2,1).SpanCols = 2 '第3行第2个单元格向右合并2列
    rt.Cells(2,2).SpanRows = 3 '第4行第3个单元格向下合并2行(用于显示二维码)
    'rt.Cells(4,1).SpanCols = 2 '第5行第2个单元格向右合并2列(用于显示备注)
    '设置二维码
    bar.Symbology = Barpro.Symbology.QRCode
    bar.Code = rw("资产卡片号")
    rg = new prt.RenderGraphics
    bar.DrawOnCanvas(rg.Graphics,0,0,0.8)
    '设置表格样式
    rt.CellStyle.Spacing.All = 1 '单元格内容缩进1毫米
    rt.Style.Spacing.Bottom = 5 '和下一个资料卡的距离是5毫米
    rt.Style.GridLines.All = New prt.Linedef '设置网格线
    rt.Style.TextAlignVert = prt.AlignVertEnum.Center '内容垂直居中
    '下面很简单,指定每一个单元格的内容
    rt.Cells(0,0).Text= "资产编号:"
    rt.Cells(0,1).Text = rw("资产卡片号")


    rt.Cells(1,0).Text= "所在位置:"
    rt.Cells(1,1).Text =rw("所在楼") & "   " & rw("所在科室") & "   " & rw("所在房间")
    
    rt.Cells(2,0).Text= "资产名称:"
    rt.Cells(2,1).Text = rw("资产名称") & "   " & rw("资产型号")


    rt.Cells(3,0).Text= "资产归属:"
    rt.Cells(3,1).Text = rw("资产归属")
     
    rt.Cells(4,0).Text= "IP地址:"
    rt.Cells(4,1).Text = rw("IP地址")

    rg = new prt.RenderGraphics
    bar.DrawOnCanvas(rg.Graphics,0,0,0.8)
    rt.Cells(2,2).RenderObject = rg   '在第2行,第3列显示二维码
    'rg.Style.TextAlignVert   =  .AlignVertEnum.Center      这里要怎么写?

 
    ra.Children.Add(rt) '加入到容器中
    Doc.Body.ChildRen.Add(ra) '将容器加入到报表中
Next
Doc.Preview() '预览报表
[此贴子已经被作者于2019/1/14 8:29:40编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/14 9:03:00 [只看该作者]

1、加一个辅助列,打印以后,就勾选。或者单独用一个变量记录打印到了哪个位置。

 

2、

 

Dim doc As New PrintDoc '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中
'下面的代码向表格中填入值
For r As Integer = 0 To 5
    Dim rg As prt.RenderGraphics
    Dim Bar As New BarCodeBuilder
    Bar.Symbology = Barpro.Symbology.QRCode
    Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
    bar.Code = 123
    rg = new prt.RenderGraphics
    bar.DrawOnCanvas(rg.Graphics,0,0,1)
    rg.Style.Spacing.All = 3
    rt.Cells(r, 2).RenderObject = rg
    rt.Cells(r, 2).Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center
Next
rt.Style.GridLines.All = New prt.Linedef '设置网格线
doc.Preview() '预览报表


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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/1/14 10:11:00 [只看该作者]

上面 这段代码执行后,不是把所有要打印的标签都预览出来了吗?  怎么在打印的时候控制写表啊?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/14 10:36:00 [只看该作者]

以下是引用ycwk在2019/1/14 10:11:00的发言:
上面 这段代码执行后,不是把所有要打印的标签都预览出来了吗?  怎么在打印的时候控制写表啊?

 

rw("已打印") = true


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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/1/14 15:05:00 [只看该作者]

我想在打印标签的时候,通过“资产编号”字段关联其它表,显示其它表的字段?  请问代码要怎么写?

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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/1/14 15:20:00 [只看该作者]

http://www.foxtable.com/webhelp/scr/1241.htm  吗?还有其它方法没?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/14 15:38:00 [只看该作者]

以下是引用ycwk在2019/1/14 15:05:00的发言:
我想在打印标签的时候,通过“资产编号”字段关联其它表,显示其它表的字段?  请问代码要怎么写?

 

通过find查找或者select查找到数据后处理

 

http://www.foxtable.com/webhelp/scr/0396.htm

 


 回到顶部
总数 18 1 2 下一页