以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何把二维码标签按顺序一个个打印出来? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=130079) |
-- 作者:ycwk -- 发布时间:2019/1/12 13:47:00 -- 如何把二维码标签按顺序一个个打印出来? 我要把一张表里的几千条记录都制作成带二维码的标签,用 PrintDoc 报表的方式,无法连接标签打印机一个个的打印吧? 要怎么才能排列号用标签打印机,一个个的打印出来?而不是挤在一张纸上排列很多个? |
-- 作者:ycwk -- 发布时间:2019/1/12 13:49:00 -- 用这种方式是最好的吗? http://www.foxtable.com/webhelp/index.htm?page=1239.htm
|
-- 作者:有点蓝 -- 发布时间:2019/1/12 14:47:00 -- 就是这种方式,指定纸张大小,每页打印一个标签即可:http://www.foxtable.com/webhelp/scr/1191.htm |
-- 作者:ycwk -- 发布时间: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编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/1/14 9:03:00 -- 1、加一个辅助列,打印以后,就勾选。或者单独用一个变量记录打印到了哪个位置。
2、
Dim doc As New PrintDoc \'定义一个报表 |
-- 作者:ycwk -- 发布时间:2019/1/14 10:11:00 -- 上面 这段代码执行后,不是把所有要打印的标签都预览出来了吗? 怎么在打印的时候控制写表啊? |
-- 作者:有点甜 -- 发布时间:2019/1/14 10:36:00 -- 以下是引用ycwk在2019/1/14 10:11:00的发言:
上面 这段代码执行后,不是把所有要打印的标签都预览出来了吗? 怎么在打印的时候控制写表啊?
rw("已打印") = true |
-- 作者:ycwk -- 发布时间:2019/1/14 15:05:00 -- 我想在打印标签的时候,通过“资产编号”字段关联其它表,显示其它表的字段? 请问代码要怎么写? |
-- 作者:ycwk -- 发布时间:2019/1/14 15:20:00 -- http://www.foxtable.com/webhelp/scr/1241.htm 吗?还有其它方法没? |
-- 作者:有点甜 -- 发布时间:2019/1/14 15:38:00 -- 以下是引用ycwk在2019/1/14 15:05:00的发言:
我想在打印标签的时候,通过“资产编号”字段关联其它表,显示其它表的字段? 请问代码要怎么写?
通过find查找或者select查找到数据后处理
http://www.foxtable.com/webhelp/scr/0396.htm
|