以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  条码打印输出中的奇怪问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=116452)

--  作者:zyvver
--  发布时间:2018/3/24 23:32:00
--  条码打印输出中的奇怪问题

我从帮助里搜索“条码”,在BarCodeBuilder的事例中复制了“一行打印四个”的代码运行。结果预览显示每个条码打印了四次。每行显示有五个。(五个自然换行)

而我今天上午实验过,是每个条码打印一次,每行四个。

以下内容为程序代码:

1 Dim doc As New PrintDoc
2 Dim img As prt.RenderImage
3 Dim Bar As New BarCodeBuilder
4 Bar.Symbology = Barpro.Symbology.Code39
5 Bar.BarRatio = 0.3
6 Bar.BarHeight = 8
7 Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
8 For Each r As Row In Tables("表A").Rows
9 For i As Integer = 1 To 4
10 bar.Code = r("第二列")
11 img = new prt.RenderImage
12 img.Image = bar.GetImage
13 Doc.Body.Children.Add(img)
14 Next
15 Next
16 Doc.Preview()

 

下面是数据格式

以下内容为程序代码:

1 dd    11122211
2 ddd    11112222
3 fff    33333333
4 ggg    44443333
5 hhh    55554444
6 jjj    55445554
7 kkl    66665543
8 jjh    55678976
9 fff    55558889
10 www    00009999


--  作者:有点甜
--  发布时间:2018/3/25 17:32:00
--  
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)
    If (r.Index+1) Mod 4 = 0
        img.BreakAfter = prt.BreakEnum.Line
    End If
Next
Doc.Preview()

--  作者:zyvver
--  发布时间:2018/3/25 23:17:00
--  
  谢谢指导,可是究竟发生了什么呢?
明天去单位试试看。

--  作者:有点甜
--  发布时间:2018/3/25 23:27:00
--  
以下是引用zyvver在2018/3/25 23:17:00的发言:
  谢谢指导,可是究竟发生了什么呢?
明天去单位试试看。

 

实例举例的,就是把一个条码打印4份的。