Foxtable(狐表)用户栏目专家坐堂 → 请教下标签打印问题 在线等


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

主题:请教下标签打印问题 在线等

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


加好友 发短信
等级:狐精 帖子:3370 积分:24858 威望:0 精华:0 注册:2012/3/26 21:47:00
请教下标签打印问题 在线等  发帖心情 Post By:2012/10/19 13:53:00 [只看该作者]

我实现标签打印的代码如下

但是现在发现一个问题 标签打出来是旋转了90度的  和我预想的不一样 代码改了很久一点作用也没有  请教高手

 

 

 

"条码"
Dim doc As New PrintDoc
doc.PageSetting.Width = 60
doc.PageSetting.Height = 40
Doc.PageSetting.LeftMargin = 1
Doc.PageSetting.TopMargin = 1


doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
Dim i As Integer=Tables("打印选择").Rows.count-1
For i=0 To i
    Dim t As Integer=Tables("打印选择").Rows(i)("打印张数")
    If t>0 Then
        For t=1 To t
            Dim ra As New prt.RenderArea
            Dim rt As prt.RenderText
           
            ra.Width = 58
            ra.Height =38
            ra.Style.Spacing.All = 1
            ra.Style.Borders.All = New prt.Linedef(0.3, Color.black)
            ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never
            ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never
            Doc.Body.ChildRen.Add(ra)
           
            rt = New prt.RenderText
            rt.Text = "名称: "
            rt.X =4
            rt.Y = 2
            rt.Style.Font = New Font("宋体",14)
            ra.Children.Add(rt)
           
            rt = New prt.RenderText
            rt.Text = Tables("打印选择").Rows(i)("药材名称")
            rt.X =20
            rt.Y = 2
            rt.Style.Font = New Font("宋体",12)
           
            ra.Children.Add(rt)
           
            rt = New prt.RenderText
            rt.Text = "单位: "
            rt.X =4
            rt.Y = "Prev.Bottom + 2"
            rt.Style.Font = New Font("宋体", 14)
            ra.Children.Add(rt)
           
            rt = New prt.RenderText
            rt.Text = Tables("打印选择").rows(i)("单位")
            rt.X =20
            rt.Y = "Prev.Top"
            rt.Style.Font = New Font("宋体",12)
            ra.Children.Add(rt)
           
            rt = New prt.RenderText
            rt.Text = "SN: "
            rt.X =4
            rt.Y = "Prev.Bottom + 2"
            rt.Style.Font = New Font("宋体", 14)
            ra.Children.Add(rt)
           
           
            rt = New prt.RenderText
            rt.Text =Tables("打印选择").rows(i)("SN")
            rt.X =20
            rt.Y = "Prev.Top"
            rt.Style.Font = New Font("宋体",12)
            ra.Children.Add(rt)
           
            Dim rpar As New prt.RenderParagraph()
            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
            If  not Tables("打印选择").rows(i).Isnull("SN") Then
                bar.Code = Tables("打印选择").rows(i)("条码")
                img = new prt.RenderImage
                img.Image = bar.GetImage
                Dim rm As New prt.RenderImage '定义一个图片对象
                rm.Image =bar.getimage '设置图片
                rm.Width = "Parent.Width" '宽度等于页面宽度
                rm.Height = "Auto" '高度由图片大小自动决定
                rm.Style.ImageAlign.StretchHorz = False '禁止图片水平拉伸
                rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center
                rm.X=2
                rm.y="Prev.Bottom + 2"
                ra.Children.Add(rm)
                Tables("打印选择").rows(i)("已打印")=True
            Else
               
               
                messagebox.show("请输入" &Tables("打印选择").rows(i)("药材名称")  &"的SN码!")
                Return
            End If
           
        Next
    Else
       
        messagebox.show("请输入" &Tables("打印选择").rows(i)("药材名称")  &"的打印张数!")
        Return
    End If
   
Next
Doc.Preview()


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


加好友 发短信
等级:狐精 帖子:3370 积分:24858 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2012/10/19 14:06:00 [只看该作者]

自己顶一下


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/10/19 14:11:00 [只看该作者]

 楼主,带个表,给点数据吧……

 试试 doc.AutoRotate = False
[此贴子已经被作者于2012-10-19 14:15:30编辑过]

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


加好友 发短信
等级:狐神 帖子:6886 积分:43605 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2012/10/19 14:22:00 [只看该作者]

要上传附件的,别人才好测试的。

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


加好友 发短信
等级:狐精 帖子:3370 积分:24858 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2012/10/19 14:23:00 [只看该作者]

项目上传了 麻烦大家看看  试了下lin的方法 现在不旋转了 但是实际打印出来的页面占据了2张纸 而不是设想的一张纸

纸张大小60*40 prt.RenderArea大小58*38

 

问题已经解决 谢谢啦

[此贴子已经被作者于2012-10-19 14:37:17编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/10/19 14:38:00 [只看该作者]

我们在激光打印机和针式打印机下测试,都没有问题。

至于标签打印机,我们没有条件测试。

你调整调整纸张大小和边距看看,先简单的开始,打印几个简单的字符


 回到顶部