Foxtable(狐表)用户栏目专家坐堂 → [求助]服装标签排版问题


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

主题:[求助]服装标签排版问题

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


加好友 发短信
等级:小狐 帖子:384 积分:4174 威望:0 精华:0 注册:2011/12/31 14:28:00
[求助]服装标签排版问题  发帖心情 Post By:2015/4/10 20:29:00 [只看该作者]


此主题相关图片如下:20150410001.jpg
按此在新窗口浏览图片

 

如上面标签样式,我想在条码的上方再增加几个文本内容,如调用表中的品名,品牌一起跟条码打印出来,

代码如下,请看下,红色部分的代码要放在什么地方,或者要怎么改才行啊,现在的代码,品名和品牌等跟条码重合了,显示在条码上

 

Dim txt1 As String = e.Form.Controls("TextBox1").Text   '定义变量,用于手动输入打印数量
Dim cmb1 As String = e.Form.Controls("ComboBox1").Text  '定义变量,用于手动选择打印机

Dim doc As  New PrintDoc '定义一个报表
doc.PageSetting.Width = 80  '纸张宽度为200毫米
doc.PageSetting.Height = 50  '纸张高度为170毫米
DoC.PageSetting.LeftMargin = 0  '设置左侧边距为2毫米
DoC.PageSetting.RightMargin = 0  '设置右侧边距为2毫米
DoC.PageSetting.TopMargin = 1  '设置顶部边距为2毫米
Doc.PageSetting.BottomMargin = 1 '底部边距未1毫米
Doc.Style.TextAlignHorz = prt.AlignVertEnum.Center '垂直居中
'DoC.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中
DoC.Style.TextAlignHorz = prt.AlignHorzEnum.Right '右对齐
doc.PageSetting.Landscape = True  '横向打印
doc.AutoRotate = False  '如果纸张的宽度超过高度,要加上这行代码
Dim rx As New prt.RenderText '定义一个文本对象
Dim  Bar As  New BarCodeBuilder '定义个条码图片Bar
Dim  rg As  prt.RenderGraphics '定义一个图形rg

Dim t As Table =  Tables("ShangPinXiangXiZiLiao") '指定数据来源表
Dim ra As prt.RenderArea '定义一个容器ra
For i As Integer = t.TopPosition To t.BottomPosition
    Dim r As Row = t.Rows(i)
    For j As Integer = 0 To val(txt1) - 1 '指定每行打印数量
        If j Mod 2 = 0 Then
            ra = new prt.RenderArea '新建一个容器
            Doc.Body.Children.Add(ra) '将容器加入报表
        End If
        bar.Code =  r("ShangPinXiangXiZiLiao_ShangPinHuoHao") '指定条码数据来源列
        Bar.Symbology =   Barpro.Symbology.Code128 '指定条码类型
        Bar.BarWidth = 0.3  '窄条宽度
        Bar.BarRatio = 2.5 '设定宽窄比例
        Bar.BarHeight = 10 '设定条码高度
        Bar.QuietZoneWidth = 2  '静区宽度
        Bar.Font = New Font("宋体",9,FontStyle.Bold) '设置条码数字,字体,大小
        Bar.CodeAlignment = Barpro.Alignment.BelowJustify
        Bar.Text = "BOBOYA ¥" &  r("ShangPinXiangXiZiLiao_XiaoShouJia") & "元" '指定条码上方文本说明
        Bar.TextFont = New Font("宋体",9,FontStyle.Bold) '定义说明文本字体及字号
        Bar.TextAlignment = Barpro.Alignment.AboveLeft
        rg =  new  prt.RenderGraphics '新建一个图形


rx = New prt.RenderText
rx.text = "品名:" &  r("ShangPinXiangXiZiLiao_ShangPinMingCheng")
'rx.Style.FontBold = True '字体加粗
rx.Style.FontSize = 9 '大体大小为16磅
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
rx.Style.Spacing.Bottom = 1 '和下面的对象(表格)距离3毫米
rg.Children.Add(rx) 

rx = New prt.RenderText
rx.text = "品牌:" &  r("ShangPinXiangXiZiLiao_PinPai")
'rx.Style.FontBold = True '字体加粗
rx.Style.FontSize = 9 '大体大小为16磅
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
rx.Style.Spacing.Bottom = 1 '和下面的对象(表格)距离3毫米
rg.Children.Add(rx) 


        bar.DrawOnCanvas(rg.Graphics,0,0,1) '将图形加入到条码中      
        '设置条码的排列边距
        rg.Stacking = prt.StackingRulesEnum.InlineLeftToRight  '设置容器中对象的排列方式
        rg.Style.TextAlignHorz = prt.AlignVertEnum.Center '垂直居中       
        rg.Style.Spacing.ToP = 1 '设置下间隔为3毫米
        rg.Style.Spacing.Right  = 5  '设置右间间隔毫米
        rg.Style.Spacing.Bottom  = 5  '设置右间间隔毫米
        rg.Style.Spacing.Left = 1 '左边距
        ra.Stacking = prt.StackingRulesEnum.InlineLeftToRight  '设置容器中对象的排列方式
        ra.Style.TextAlignHorz = prt.AlignVertEnum.Center '垂直居中
        ra.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中
'        ra.Style.Spacing.ALL = 1  '设置下间隔为3毫米
        ra.Style.Spacing.Top = 20  '设置下间隔为3毫米 ra.Style.Spacing.Right
        ra.Style.Spacing.Right  = 1  '设置右间间隔毫米
        ra.Style.Spacing.Left = 5 '左边距
        ra.Children.Add(rg)
    Next  
Next
Doc.PrinterName = cmb1 '指定打印机
Doc.Preview() '打印预览
'Doc.Print '直接打印


 

[此贴子已经被作者于2015/4/14 13:49:04编辑过]

 回到顶部