蓝版,您好:
我用如下代码对下表的多行数据进行操作形成一个二维码:
Dim doc As New PrintDoc
Dim dus As New list (Of String)
dus.add("工单编号")
dus.add("工单性质")
dus.add("客户")
Dim rg As prt.RenderGraphics
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.QRCode
Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
For Each r As Row In Tables("全局工单列表").Rows
Dim u As String = "" ‘u为空格
For Each s As String In dus
u = u & "*" & r(s)
Next
u = u.Substring(1, u.Length - 1)
bar.Code = bar.Code & "|" & u
Next
bar.Code = bar.Code.Substring(7, bar.Code.Length - 7)
rg = New prt.RenderGraphics
bar.DrawOnCanvas(rg.Graphics, 0, 0, 1)
rg.Style.Spacing.All = 3
Doc.Body.Children.Add(rg)
Doc.Preview()
我测试的场景是这个表只有三行数据,形成二维码后再用扫描枪扫这个二维码,得到如下预期的字符串:
全局工单202304-001*全局工单*海天|全局工单202304-002*全局工单*大建|全局工单202304-003*全局工单*宇发
但我用20行数据取测试时,得到一个非常大的二维码,如下图右(3行数据二维码和20行数据二维码的对比),而且也扫不出内容了。
我的问题是:数据行增多,形成的二维码能否保持大小不变,且能用扫描枪扫出内容?