以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 条码宽度 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145189) |
-- 作者:刘林 -- 发布时间:2020/1/11 12:34:00 -- 条码宽度 For r As Integer = 0 To Rows.Count -1 Dim ra As New prt.RenderArea Dim rt As prt.RenderText ra.Width = 70 \'宽度53毫米 ra.Height = 29.5 \'高度24毫米 ra.Style.Spacing.All = 0 ra.Style.Borders.All = New prt.Linedef(0, Color.Red) \'设置边框 ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never \'禁止水平分割 ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'禁止垂直分割 Doc.Body.ChildRen.Add(ra) \'将容器加入到报表中 Dim rg As prt.RenderGraphics Dim Bar As New BarCodeBuilder Bar = New BarCodeBuilder Bar.Symbology = Barpro.Symbology.Code128 BAR.DisplayCode = False Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight bar.Code = Rows(r)("考号") Bar.Text =Rows(r)("姓名") & " " & Rows(r)("考号") Bar.BarRatio = 6 Bar.BarHeight = 10 Bar.TextAlignment = Barpro.Alignment.BelowCenter rg = new prt.RenderGraphics bar.DrawOnCanvas(rg.Graphics,2,2,1) rg.Style.Spacing.All = 0 rg.y=10 RG.Width=100 ra.Children.Add(rg) Next 老师,我想做个考号条形码,条码的宽度调不到呢,我想把条码设置为58且居中,改宽度无效呢
|
-- 作者:有点蓝 -- 发布时间:2020/1/11 14:07:00 -- Dim doc As New PrintDoc \'定义一个报表 For r As Integer = 0 To 2 Dim ra As New prt.RenderArea Dim rt As prt.RenderText ra.Width = 70 \'宽度53毫米 ra.Height = 29.5 \'高度24毫米 ra.Style.Spacing.All = 0 ra.Style.Borders.All = New prt.Linedef(1, Color.Red) \'设置边框 ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never \'禁止水平分割 ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'禁止垂直分割 Doc.Body.ChildRen.Add(ra) \'将容器加入到报表中 Dim rg As prt.RenderGraphics Dim Bar As New BarCodeBuilder Bar = New BarCodeBuilder Bar.Symbology = Barpro.Symbology.Code128 BAR.DisplayCode = False Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight bar.Code = "12345678" Bar.Text =("姓名") & " " & ("考号") Bar.BarRatio = 6 Bar.BarHeight = 10 Bar.BarWidth = 0.5 Bar.TextAlignment = Barpro.Alignment.BelowCenter Dim rm As New prt.RenderImage rm.Image = Bar.GetImage rm.Style.ImageAlign.StretchHorz = False \'禁止图片水平拉伸 rm.Width = "Parent.Width" \'宽度等于页面宽度 rm.y = 8 rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center rm.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center ra.Children.Add(rm) Next doc.Preview() \'预览
|
-- 作者:刘林 -- 发布时间:2020/1/12 6:55:00 -- Dim img As Image = Image.FromFile("C:\\Users\\Administrator\\Desktop\\b1.jpg") ’图片地址哦! Dim bmap As Bitmap bmap = New Bitmap(img) Dim source As New RGBLuminanceSource(bmap, bmap.Width, bmap.Height) Dim bitmap As com.google.zxing.BinaryBitmap = New com.google.zxing.BinaryBitmap(New com.google.zxing.common.GlobalHistogramBinarizer(source)) Dim asd As new com.google.zxing.MultiFormatReader Dim result As com.google.zxing.Result = asd.decode(bitmap) MessageBox.Show(result.Text) 老师用例子中代码识别图片中二维码时,当有下面的字时识别就出问题,当裁剪掉文字就可以(虽然慢点),请老师有不改进办法实现混合也能识别
[此贴子已经被作者于2020/1/12 7:04:14编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/1/12 20:31:00 -- 我使用微信扫码可以识别哦。看看是不是扫描枪的问题。或者换个不同的编码,比如code39 |
-- 作者:刘林 -- 发布时间:2020/1/12 22:14:00 -- 老师,我用了手机扫码是可以,我现在的问题就是如果切图,将第一个图(含有下面文字)出错,第二个图就不出错,我现面就是如果有文字也不影响读出条码内容,code39试了,code93也试了还是不行,只要图片中含有文字就出错,请老师指导如何在有文字下可以识别二维码,我现在要达到的目的不是手机扫描,也不是扫描枪扫描,而是图片用上面代码识别出错 [此贴子已经被作者于2020/1/12 22:22:06编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/1/12 22:34:00 -- 没搞懂。什么切图?另外上面的是条形码,又和二维码有什么关系? |
-- 作者:刘林 -- 发布时间:2020/1/13 8:24:00 -- 老师,请3楼的代码,分别测一下两个图片就知道问题了,我是在探索,网络阅卷,在试卷上固定位置读取条码信息(考号) [此贴子已经被作者于2020/1/13 8:23:51编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/1/13 8:54:00 -- 这个是组件本身的问题,无法解决。试试截取图片的时候不要截取条码之外的文字。 |
-- 作者:刘林 -- 发布时间:2020/1/13 23:30:00 -- 我的问题就是只要取了条码之外的文字就出问题,我就是想请教如何实现即使有条码外文字也能识别 |
-- 作者:有点蓝 -- 发布时间:2020/1/14 8:33:00 -- 换个方式,比如百度AI开放平台接口:https://ai.baidu.com/ai-doc/OCR/qk3h7y5o7 http://foxtable.com/bbs/dispbbs.asp?boardid=2&Id=139788 或者阿里云也有条码识别接口的
|