以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 条码无法扫描的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=24658)
|
-- 作者:rjh4078
-- 发布时间:2012/10/19 14:51:00
-- 条码无法扫描的问题
通过一下代码生成一个条码标签 现在发现扫描枪不认下 用foxtable的专门条码打印功能打出来的条码就能认 求真相
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.BlockTopToBottom 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) Doc.Body.Children.Add(img) 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.AutoRotate = False Doc.Preview
|
-- 作者:lihe60
-- 发布时间:2012/10/19 14:53:00
--
可能是没有连接好。
|
-- 作者:lin_hailun
-- 发布时间:2012/10/19 14:58:00
--
从bar.GetImage后,尽量不要再调整宽高等,这样试试。
|
-- 作者:rjh4078
-- 发布时间:2012/10/19 15:15:00
--
试了下还是不行 现在发现用代码打出来的条码颜色很浅 没有专业的条码软件打印的那么清楚
|
-- 作者:lihe60
-- 发布时间:2012/10/19 15:16:00
--
以下是引用rjh4078在2012-10-19 15:15:00的发言:
试了下还是不行 现在发现用代码打出来的条码颜色很浅 没有专业的条码软件打印的那么清楚
可以改变颜色设置的。
|
-- 作者:rjh4078
-- 发布时间:2012/10/19 15:22:00
--
颜色怎么设置啊
|
-- 作者:lin_hailun
-- 发布时间:2012/10/19 15:24:00
--
试试用下面这个打印,看是否识别。如果识别,就修改你原先的代码;如果不识别,可能就是扫描枪或者打印机的问题了。
http://www.foxtable.com/help/topics/2076.htm
|
-- 作者:rjh4078
-- 发布时间:2012/10/19 15:37:00
--
用这个可以识别 但是用我那代码生成的就不行 非常郁闷
|
-- 作者:lin_hailun
-- 发布时间:2012/10/19 16:17:00
--
楼主,删简你的代码,留有最精炼的代码,测试,然后慢慢添加代码。这样去排错。
img = new prt.RenderImage img.Image = bar.GetImage
对于条形码,先用这两句。
|
-- 作者:rjh4078
-- 发布时间:2012/10/19 21:35:00
--
感谢lin的指导 不过测试了大半下午 还是没有解决识别的问题 条码可以正常打印出来 条码枪就是不识别 换了几把枪也是一样
|